日期:2014-05-16  浏览次数:21104 次

oracle查询星期几的中文显示
如题
我用这种获取

select to_char(last_day(sysdate),'yyyy-mm-dd','nls_date_language=american') from dual


显示结果为 friday


不要告诉我是

select to_char(last_day(sysdate),'yyyy-mm-dd') from dual


这个显示的结果只是默认编码,像我安得是E文,返回的结果就是friday

如何显示星期五呢?
------解决方案--------------------
将nls_date_language=american英文显示改为NLS_DATE_LANGUAGE=SIMPLIFIED CHINESE中文显示就行了
------解决方案--------------------
select to_char(sysdate,'day','NLS_DATE_LANGUAGE=''SIMPLIFIED CHINESE''') from dual;
------解决方案--------------------
引用:
Quote: 引用:

select to_char(sysdate,'day','NLS_DATE_LANGUAGE=''SIMPLIFIED CHINESE''') from dual;


小乱码,但是貌似可以得出,但是为什么要在中间加上双引号呢?
话说我搜到这个帖子
http://www.itpub.net/thread-60659-1-1.html


因为SIMPLIFIED CHINESE有空格,必须用单引号引起来才有效
------解决方案--------------------
引用:
Quote: 引用:

Quote: 引用:

Quote: 引用:




为什么还得用两个单引号才行呢?双引不行,一个单引也不行!
错误

select to_char(sysdate,'day','nls_date_language="simplified chinese"') from dual;
select to_char(sysdate,'day','nls_date_language='simplified chinese'') from dual;


正确

select to_char(sysdate,'day','nls_date_language=''simplified chinese''') from dual;


很变态诶,.

用两个单引号的原因是,前面一个是转义字符。 ''转义的结果是 '