-- 一个是中文的日期格式,一个是英文的日期格式,当然不一样啦 -- 都这样执行,就一致啦:alter session set nls_date_language=american;
idle> conn lftest/szty2009hll@sztyoralf7 已连接。 lftest@SZTYORA> select to_char(sysdate,'DAY') from dual;TO_CHAR(SYSDATE,'DAY') ------------------------ 星期六已用时间: 00: 00: 00.59 lftest@SZTYORA> alter session set nls_date_language=american;会话已更改。已用时间: 00: 00: 00.45 lftest@SZTYORA> select to_char(sysdate,'DAY') from dual;TO_CHAR(SYSDATE,'DAY') ------------------------------------------------------------------------ SATURDAY已用时间: 00: 00: 00.48 lftest@SZTYORA>
U should read Oracle Sql Reference,and U can get the answer: only one sql,can do it like this: DINGJUN123>SELECT TO_CHAR(SYSDATE,'DAY') 2 FROM DUAL;TO_CHAR(SYSDATE,'DAY') ------------------------ 星期六 DINGJUN123>SELECT TO_CHAR(SYSDATE,'DAY','NLS_DATE_LANGUAGE=AMERICAN') 2 FROM DUAL;TO_CHAR(SYSDATE,'DAY','NLS_DATE_LANGUAGE=AMERICAN') ------------------------------------------------------------------------ SATURDAY
这种方法都没有问题,但是我同样的程序,部署到linux后,调用同样的库,程序执行select to_char(sysdate,'DAY') from dual;这条SQL,结果却是英文的,但是程序在我window下执行是中文的
你的linux是英文的 而window是中文的SQL> select to_char(sysdate,'day') from dual;TO_CHAR(S --------- 星期一 1* alter session set nls_date_language='american' SQL> /会话已更改。SQL> select to_char(sysdate,'day') from dual;TO_CHAR(SYSDA ------------- monday
-- 都这样执行,就一致啦:alter session set nls_date_language=american;
已连接。
lftest@SZTYORA> select to_char(sysdate,'DAY') from dual;TO_CHAR(SYSDATE,'DAY')
------------------------
星期六已用时间: 00: 00: 00.59
lftest@SZTYORA> alter session set nls_date_language=american;会话已更改。已用时间: 00: 00: 00.45
lftest@SZTYORA> select to_char(sysdate,'DAY') from dual;TO_CHAR(SYSDATE,'DAY')
------------------------------------------------------------------------
SATURDAY已用时间: 00: 00: 00.48
lftest@SZTYORA>
only one sql,can do it like this:
DINGJUN123>SELECT TO_CHAR(SYSDATE,'DAY')
2 FROM DUAL;TO_CHAR(SYSDATE,'DAY')
------------------------
星期六
DINGJUN123>SELECT TO_CHAR(SYSDATE,'DAY','NLS_DATE_LANGUAGE=AMERICAN')
2 FROM DUAL;TO_CHAR(SYSDATE,'DAY','NLS_DATE_LANGUAGE=AMERICAN')
------------------------------------------------------------------------
SATURDAY
你的linux是英文的
而window是中文的SQL> select to_char(sysdate,'day') from dual;TO_CHAR(S
---------
星期一
1* alter session set nls_date_language='american'
SQL> /会话已更改。SQL> select to_char(sysdate,'day') from dual;TO_CHAR(SYSDA
-------------
monday