Oracle to_char 日期转换字符串

上传人:野鹰 文档编号:1131296 上传时间:2017-05-29 格式:TXT 页数:14 大小:13.28KB
返回 下载 相关 举报
Oracle to_char 日期转换字符串_第1页
第1页 / 共14页
Oracle to_char 日期转换字符串_第2页
第2页 / 共14页
Oracle to_char 日期转换字符串_第3页
第3页 / 共14页
Oracle to_char 日期转换字符串_第4页
第4页 / 共14页
Oracle to_char 日期转换字符串_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《Oracle to_char 日期转换字符串》由会员分享,可在线阅读,更多相关《Oracle to_char 日期转换字符串(14页珍藏版)》请在金锄头文库上搜索。

1、1以12小时制显示 SQLselect to_char(sysdate,YYYY-MM-DD HH12:MI:SS AM)from dual; TO_CHAR(SYSDATE,YYYY-MM-DDHH1 - 2007-06-29 02:50:06 下午 2以24小时制显示 SQL select to_char(sysdate,YYYY-MM-DD HH24:MI:SS AM)from dual; TO_CHAR(SYSDATE,YYYY-MM-DDHH2 - 2007-06-29 15:00:58 下午 3得到当前时间的前一分钟 select to_char(Sysdate-1/21/60,H

2、H24:MI:SS)from dual; TO_CHAR(SYSDATE-1/21/60,HH24: - 15:00:54 4得到当前时间的后一分钟 select to_char(Sysdate+1/21/60,HH24:MI:SS)from dual; TO_CHAR(SYSDATE+1/21/60,HH24: - 15:03:53 5得到当前时间的前一小时 select to_char(Sysdate-1/24,HH24:MI:SS)from dual; TO_CHAR(SYSDATE-1/24,HH24:MI: - 14:03:13 6得到当前时间的后一小时 select to_char

3、(Sysdate+1/24,HH24:MI:SS)from dual; TO_CHAR(SYSDATE+1/24,HH24:MI: - 16:03:32 7得到当前时间的后一天 select to_char(Sysdate+1,YYYY-MM-DD)from dual; TO_CHAR(SYSDATE+1,YYYY-MM-DD - 查询当前时间的前六个月 select add_months(sysdate,-6) from dual1、转换函数 与date操作关系最大的就是两个转换函数:to_date(),to_char() to_date() 作用将字符类型按一定格式转化为日期类型: 具体用

4、法:to_date(2004-11-27,yyyy-mm-dd),前者为字符串,后者为转换日期格式,注意,前后两者要以一对应。 如;to_date(2004-11-27 13:34:43, yyyy-mm-dd hh24:mi:ss) 将得到具体的时间 多种日期格式: YYYY:四位表示的年份 YYY,YY,Y:年份的最后三位、两位或一位,缺省为当前世纪 MM:0112的月份编号 MONTH:九个字符表示的月份,右边用空格填补 MON:三位字符的月份缩写 WW:一年中的星期 D:星期中的第几天 DD:月份中的第几天 DDD:年所中的第几天 DAY:九个字符表示的天的全称,右边用空格补齐 HH,

5、HH12:一天中的第几个小时,12进制表示法 HH24:一天中的第几个小时,取值为0023 MI:一小时中的分钟 SS:一分钟中的秒 SSSS:从午夜开始过去的秒数 to_char():将日期转按一定格式换成字符类型 SQL select to_char(sysdate,yyyy-mm-dd hh24:mi:ss) time from dual; TIME - 2004-10-08 15:22:58 即把当前时间按yyyy-mm-dd hh24:mi:ss格式转换成字符类型 在oracle中处理日期大全 TO_DATE格式 Day: dd number 12 dy abbreviated fr

6、i day spelled out friday ddspth spelled out, ordinal twelfth Month: mm number 03 mon abbreviated mar month spelled out march Year: yy two digits 98 yyyy four digits 1998 24小时格式下时间范围为: 0:00:00 - 23:59:59. 12小时格式下时间范围为: 1:00:00 - 12:59:59 . ZT日期和時間函數匯總 1. 日期和字符转换函数用法(to_date,to_char) 2. select to_char

7、( to_date(222,J),Jsp) from dual 显示Two Hundred Twenty-Two 3. 求 天是星期几 select to_char(to_date(2002-08-26,yyyy-mm-dd),day) from dual; 星期一 select to_char(to_date(2002-08-26,yyyy-mm-dd),day,NLS_DATE_LANGUAGE = American) from dual; monday 日期 ALTER SESSION SET NLS_DATE_LANGUAGE=AMERICAN; 以 TO_DATE (2002-08-

8、26, YYYY-mm-dd, NLS_DATE_LANGUAGE = American) 4. 两个日期间的天数 select floor(sysdate - to_date(20020405,yyyymmdd) from dual; 5. 时间为null的用法 select id, active_date from table1 UNION select 1, TO_DATE(null) from dual; 注意要用TO_DATE(null) 6. a_date between to_date(20011201,yyyymmdd) and to_date(20011231,yyyymmd

9、d)12月31号中午12 后和12月1号的12 前是 在 个范围 的。 所以,当时间 要 的时 , 得to_char 是 要的 7. 日期格式 的格式要 的ORACLE字符的类型, 如: US7ASCII, date格式的类型就是: 01-Jan-01 alter system set NLS_DATE_LANGUAGE = American alter session set NLS_DATE_LANGUAGE = American 或者在to_date中写 select to_char(to_date(2002-08-26,yyyy-mm-dd),day,NLS_DATE_LANGUAGE

10、 = American) from dual; 注意 是NLS_DATE_LANGUAGE,当currency1 “多, 查 select * from nls_session_parameters select * from V$NLS_PARAMETERS 8. select count(*) from ( select rownum-1 rnum from all_objects where rownum select sysdate ,to_char(sysdate,hh) from dual; SYSDATE TO_CHAR(SYSDATE,HH) - - 2003-10-13 19

11、:35:21 07 SQL select sysdate ,to_char(sysdate,hh24) from dual; SYSDATE TO_CHAR(SYSDATE,HH24) - - 2003-10-13 19:35:21 19 取年月日与 类 13. 年月日的处理 select older_date, newer_date, years, months, abs( trunc( newer_date- add_months( older_date,years*12+months ) ) ) days from ( select trunc(months_between( newer

12、_date, older_date )/12) YEARS, mod(trunc(months_between( newer_date, older_date ), 12 ) MONTHS, newer_date, older_date from ( select hiredate older_date, add_months(hiredate,rownum)+rownum newer_date from emp ) ) 14. 处理月份天数 定的法 select to_char(add_months(last_day(sysdate) +1, -2), yyyymmdd),last_day(

13、sysdate) from dual 16. 年的天数 select add_months(trunc(sysdate,year), 12) - trunc(sysdate,year) from dual 年的处理法 to_char( last_day( to_date(02 | :year,mmyyyy) ), dd ) 如是28就 是年 17. yyyy与rrrr的fl YYYY99 TO_C - - yyyy 99 0099 rrrr 99 1999 yyyy 01 0001 rrrr 01 2001 18. 时的处理 select to_char( NEW_TIME( sysdate,

14、 GMT,EST), dd/mm/yyyy hh:mi:ss) ,sysdatefrom dual; 19. 5秒钟一个间 Select TO_DATE(FLOOR(TO_CHAR(sysdate,SSSSS)/300) * 300,SSSSS) ,TO_CHAR(sysdate,SSSSS) from dual 2002-11-1 9:55:00 35786 SSSSS表示5位秒数 20. 一年的第几天 select TO_CHAR(SYSDATE,DDD),sysdate from dual 310 2002-11-6 10:03:51 21.小时,分,秒,秒 select Days, A, TRUNC(A*24) Hours, TRUNC(A*24*60 - 60*TRUNC(A*24) Minutes, TRUNC(A*24*60*60 - 60*TRUNC(A*24*60) Seconds, TRUNC(A*24*60*60*100 - 100*TRUNC(A*24*60*60) mSeconds from ( select trunc(sysdate) Days, sysdate - trunc(sysdate) A from dual ) select * from tabname order by decode

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 研究报告 > 综合/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号