1、转换函数与date操作关系最大的就是两个转换函数:to_date(),to_char()to_date()作用将字符类型按一定格式转化为日期类型:具体用法:to_date('2004-11-27','yyyy-mm-dd'),前者为字符串,后者为转换日期格式,注意,前后两者要以一对应。如;to_date('2004-11-2713:34:43','yyyy-mm-ddhh24:mi:ss')将得到具体的时间多种日期格式:YYYY:四位表示的年份YYY,YY,Y:年份的最后三位、两位或一位,缺省为当前世纪MM:01~12的月份编号MONTH:九个字符表示的月份,右边用空格填补MON:三位字符的月份缩写WW:一年中的星期D:星期中的第几天DD:月份中的第几天DDD:年所中的第几天DAY:九个字符表示的天的全称,右边用空格补齐HH,HH12:一天中的第几个小时,12进制表示法HH24:一天中的第几个小时,取值为00~23MI:一小时中的分钟SS:一分钟中的秒SSSS:从午夜开始过去的秒数to_char():将日期转按一定格式换成字符类型SQL>selectto_char(sysdate,'yyyy-mm-ddhh24:mi:ss')timefromdual;TIME-------------------2004-10-0815:22:58即把当前时间按yyyy-mm-ddhh24:mi:ss格式转换成字符类型在oracle中处理日期大全TO_DATE格式Day:ddnumber12dyabbreviatedfridayspelledoutfridayddspthspelledout,ordinaltwelfthMonth:mmnumber03monabbreviatedmarmonthspelledoutmarchYear:yytwodigits98yyyyfourdigits199824小时格式下时间范围为:0:00:00-23:59:59....12小时格式下时间范围为:1:00:00-12:59:59....[ZT](to_date,to_char)(to_date(222,'J'),'Jsp')fromdual显示TwoHundredTwenty-(to_date('2002-08-26','yyyy-mm-dd'),'day')fromdual;星期一selectto_char(to_date('2002-08-26','yyyy-mm-dd'),'day','NLS_DATE_LANGUAGE=American')fromdual;monday设置日期语言ALTERSESSIONSETNLS_DATE_LANGUAGE='AMERICAN';也可以这样TO_DATE('2002-08-26','YYYY-mm-dd','NLS_DATE_LANGUAGE=American')(sysdate-to_date('20020405','yyyymmdd'))fromdual;,active_datefromtable1UNIONselect1,TO_DATE(null)fromdual;注意要用TO_DATE(null)('20011201','yyyymmdd')andto_date('20011231','yyyymmdd')那么12月31号中午12点之后和12月1号的12点之前是不包含在这个范围之内的。所以,当时间需要精确的时候,,比如:US7ASCII,date格式的类型就是:'01-Jan-01'altersystemsetNLS_DATE_LANGUAGE=AmericanaltersessionsetNLS_DATE_LANGUAGE=American或者在to_date中写selectto_char(to_date('2002-08-26','yyyy-mm-dd'),'day','NLS_DATE_LANGUAGE=American')fromdual;注意我这只是举了NLS_DATE_LANGUAGE,当然还有很多,可查看select*fromnls_session_parametersselect*fromV$(*)from(selectrownum-1rnumfromall_objectswhererown
sql to_char 日期转换字符串 来自淘豆网m.daumloan.com转载请标明出处.