oracle: tochar(sysdate,'D')函数

学习oracle时碰到tochar(sysdate,'D')函数,但是发现并不是星期几,如今天是20150317,周二,但是得到的值为3

开始以为是系统日期什么的原因,试了试

select to_char(to_date('20150317','yyyymmdd'),'D') from dual;得到的值仍是3

搜了好些资料才发现,这里的3和我们理解的3不是一个概念,这里的3是代表一个星期的第几天,国外是周日算一个星期的第三天,所以不要和星期几搞混即可

后来发现还有其他几个可选参数,放在一起方便记忆理解,如下:

 

select to_char(sysdate,'D') from dual;   这周的第几天

 

select to_char(sysdate,'DD') from dual;这个月的第几天

 

select to_char(sysdate,'DDD') from dual;今年的第几天
posted @ 2015-03-17 11:13  凌晨灵修  Views(3758)  Comments(2Edit  收藏  举报