Oracle中对日期时间类型的操作—详细

上传人:206****923 文档编号:37505562 上传时间:2018-04-17 格式:DOCX 页数:35 大小:88.22KB
返回 下载 相关 举报
Oracle中对日期时间类型的操作—详细_第1页
第1页 / 共35页
Oracle中对日期时间类型的操作—详细_第2页
第2页 / 共35页
Oracle中对日期时间类型的操作—详细_第3页
第3页 / 共35页
Oracle中对日期时间类型的操作—详细_第4页
第4页 / 共35页
Oracle中对日期时间类型的操作—详细_第5页
第5页 / 共35页
点击查看更多>>
资源描述

《Oracle中对日期时间类型的操作—详细》由会员分享,可在线阅读,更多相关《Oracle中对日期时间类型的操作—详细(35页珍藏版)》请在金锄头文库上搜索。

1、对日期/时间类型的操作 详细1. oracle 对日期的操作 2. 文章分类:数据库 3. 4. 求模:select mod(7,2) from dual; 5. 6. 1.oracle 日期时间格式: 7. 8. 年: 9. 10. yy 两位年 显示值:07 11. 12. yyyy 四位年 显示值:2007 13. 14.月: 15. 16. mm 两位月 显示值:11 17. 18. month/mon 显示值:11 月 19. 20. 21. 22.日: 23. 24. dd 当月第几天 显示值:02 25. 26. ddd 当年第几天 显示值:02 27. 28. dy 当周第几天

2、 显示值:星期五 29. 30. 31. 32.小时: 33. 34. hh 12 小时间 显示值:01 35. 36. hh24 24 小时 显示值:13 37. 38. 39. 40.分钟: 41. 42. mi 显示值:45 43. 44.秒: 45. 46. ss 显示值:25 47. 48. 49. 50.季度: 51. 52. Q 显示值:4 53. 54. 55. 56. WW 当年第几周 显示值:44 57. 58. W 当月第几周 显示值: 1 59. 60. 61. 62.24 小时格式下时间范围为:0:00:00-23:59:59 63. 64.12 小时格式下时间范围为

3、:1:00:00-12:59:59 65. 66. 67. 68.select to_char(to_date(2002-08-26,yyyy-mm- dd),day,NLS_DATE_LANGUAGE = American) from dual; 69. monday 70. 设置日期语言 71. ALTER SESSION SET NLS_DATE_LANGUAGE=AMERICAN; 72. 也可以这样 73. TO_DATE (2002-08-26, YYYY-mm- dd, NLS_DATE_LANGUAGE = American) 74. 75. 76. 77.2.两个日期间的天数

4、 78. 79. select floor(sysdate-to_date(2010-3- 8,yyyymmdd) from dual; 80. 81. 82. 83.注意使用 TO_DATE(null) ,不会报错 84. 85. 86. 87.3.两个日期间的(除了周六,周日)天数 88. 89. Java 代码 1. Oracle 时间日期操作 2. sysdate+(5/24/60/60) 在系统时间基础上延迟 5 秒 3. sysdate+5/24/60 在系统时间基础上延迟 5 分钟 4. sysdate+5/24 在系统时间基础上延迟 5 小时 5. sysdate+5 在系统时

5、间基础上延迟 5 天 6. add_months(sysdate,-5) 在系统时间基础上延迟 5 月 7. add_months(sysdate,-5*12) 在系统时间基础上延迟 5 年 8. 9. 10.上月末的日期:select last_day(add_months(sysdate, -1)from dual; 11.本月的最后一秒:select trunc(add_months(sysdate,1),MM) -1/24/60/60 from dual 12.本周星期一的日期:select trunc(sysdate,day)+1 from dual 13. 14. 15.年初至今的

6、天数:select ceil(sysdate - trunc(sysdate, year)from dual; 16. 17.今天是今年的第几周 :select to_char(sysdate,fmww) from dual 18.今天是本月的第几周:SELECT TO_CHAR(SYSDATE,WW) -TO_CHAR(TRUNC(SYSDATE,MM),WW) + 1 AS “weekOfMon“ FROM dual 19. 20.本月的天数 21.SELECT to_char(last_day(SYSDATE),dd) days FROM dual 22.今年的天数 23.select

7、add_months(trunc(sysdate,year), 12) -trunc(sysdate,year) from dual 24.下个星期一的日期 25.SELECT Next_day(SYSDATE,monday) FROM dual 26. 27. 28. 29. 30.-计算工作日方法 31. 32.create table t(s date,e date); 33.alter session set nls_date_format = yyyy-mm-dd; 34.insert into t values(2003-03-01,2003-03-03); 35.insert i

8、nto t values(2003-03-02,2003-03-03); 36.insert into t values(2003-03-07,2003-03-08); 37.insert into t values(2003-03-07,2003-03-09); 38.insert into t values(2003-03-05,2003-03-07); 39.insert into t values(2003-02-01,2003-03-31); 40. 41.- 这里假定日期都是不带时间的,否则在所有日期前加 trunc 即可。 42.select s,e,e-s+1 total_da

9、ys, 43.trunc(e- s+1)/7)*5 + length(replace(substr(01111100111110,to_char(s,d ),mod(e-s+1,7),0,) work_days 44.from t; 45. 46.- drop table t; 47. 48.引此: http:/ e96f227 61. 62. 63.= = 64. 65.Oracle 中的一些处理日期 66. 67. 68. 69.将数字转换为任意时间格式.如秒:需要转换为天/小时 70.SELECT to_char(floor(TRUNC(936000/(60*60)/24)|天 |to_

10、char(mod(TRUNC(936000/(60*60),24)|小时 FROM DUAL 71. 72. 73.TO_DATE 格式 74.Day: 75.dd number 12 76.dy abbreviated fri 77.day spelled out friday 78.ddspth spelled out, ordinal twelfth 79.Month: 80.mm number 03 81.mon abbreviated mar 82.month spelled out march 83.Year: 84.yy two digits 98 85.yyyy four di

11、gits 1998 86. 87.24 小时格式下时间范围为: 0:00:00 - 23:59:59. 88.12 小时格式下时间范围为: 1:00:00 - 12:59:59 . 89.1. 90.日期和字符转换函数用法(to_date,to_char) 91. 92.2. 93.select to_char( to_date(222,J),Jsp) from dual 94. 95.显示 Two Hundred Twenty-Two 96. 97.3. 98.求某天是星期几 99.select to_char(to_date(2002-08-26,yyyy-mm- dd),day) fro

12、m dual; 100.星期一 101.select to_char(to_date(2002-08-26,yyyy-mm- dd),day,NLS_DATE_LANGUAGE = American) from dual; 102.monday 103.设置日期语言 104.ALTER SESSION SET NLS_DATE_LANGUAGE=AMERICAN; 105.也可以这样 106.TO_DATE (2002-08-26, YYYY-mm- dd, NLS_DATE_LANGUAGE = American) 107. 108.4. 109.两个日期间的天数 110.select fl

13、oor(sysdate -to_date(20020405,yyyymmdd) from dual; 111. 112.5. 时间为 null 的用法 113.select id, active_date from table1 114.UNION 115.select 1, TO_DATE(null) from dual; 116. 117.注意要用 TO_DATE(null) 118. 119.6. 120.a_date between to_date(20011201,yyyymmdd) and to_date( 20011231,yyyymmdd) 121.那么 12 月 31 号中午 12 点之后和 12 月 1 号的 12 点之前是不包含 在这个范围之内的。 122.所以,当时间需要精确的时候,觉得 to_char 还是必要的 123.7. 日期格式冲突问题 124.输入的格式要看你安装的 ORACLE 字符集的类型, 比如:US7ASCII, date 格式的

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

当前位置:首页 > 行业资料 > 其它行业文档

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