没有合适的资源?快使用搜索试试~ 我知道了~
Oracle中 对日期时间类型的操作 - 详细.docx
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 66 浏览量
2021-12-16
12:18:41
上传
评论
收藏 82KB DOCX 举报
温馨提示
试读
34页
。。。
资源推荐
资源详情
资源评论
对日期/时间类型的操作 — 详细
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.
17.
mm 两位月 显示值:11
month/mon 显示值:11月
18.
19.
20.
21.
22.日:
23.
24.
25.
dd 当月第几天 显示值:02
ddd 当年第几天 显示值:02
dy 当周第几天 显示值:星期五
26.
27.
28.
29.
30.
31.
32.小时:
33.
34.
35.
36.
37.
38.
39.
hh 12小时间 显示值:01
hh24 24小时 显示值:13
40.分钟:
41.
42.
mi 显示值:45
ss 显示值:25
43.
44.秒:
45.
46.
47.
48.
49.
50.季度:
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
Q 显示值:4
WW 当年第几周 显示值:44
当月第几周 显示值: 1
W
62.24小时格式下时间范围为:0:00:00-23:59:59
63.
64.12小时格式下时间范围为:1:00:00-12:59:59
65.
66.
67.
68.select to_char(to_date('2002-08-26','yyyy-mm-dd'),'day','NLS_DA
TE_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 = Am
erican')
74.
75.
76.
77.2.两个日期间的天数
78.
79. select floor(sysdate-to_date('2010-3-8','yyyymmdd')) from du
al;
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 天
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.年初至今的天数:
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 add_months(trunc(sysdate,'year'), 12) - trunc(sysdate,'y
ear') 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 into 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_days,
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://www.itpub.net/showthread.php?s=1635506cd5f48b1bc3adbe4cd
e96f227&threadid=104060&perpage=15&pagenumber=1
49.
50.
51.===============================================================
=================
52.
53.判断当前时间是上午下午还是晚上
54.
55.SELECT CASE
56.WHEN to_number(to_char(SYSDATE,'hh24')) BETWEEN 6 AND 11 THEN '
上午'
57.WHEN to_number(to_char(SYSDATE,'hh24')) BETWEEN 11 AND 17 THEN
'下午'
58.WHEN to_number(to_char(SYSDATE,'hh24')) BETWEEN 17 AND 21 THEN
'晚上'
59.END
60.FROM dual;
61.
62.
63.===============================================================
=================
64.
65.Oracle 中的一些处理日期
66.
67.
68.
69.将数字转换为任意时间格式.如秒:需要转换为天/小时
70.SELECT to_char(floor(TRUNC(936000/(60*60))/24))||'天
'||to_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 digits 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') from d
ual;
100.
101.
星期一
select to_char(to_date('2002-08-26','yyyy-mm-dd'),'day','N
LS_DATE_LANGUAGE = American') from dual;
102. monday
剩余33页未读,继续阅读
资源评论
苦茶子12138
- 粉丝: 1w+
- 资源: 6万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功