日期格式参数 含义说明 D;}V\)b[u[
D 一周中的星期几 3EgY="/B
DAY 天的名字,使用空格填充到9个字符 ;b\g C)
DD 月中的第几天 UV*d~C_z;p
DDD 年中的第几天 ]Tn82U
DY 天的简写名 ]sw@'60!
IW ISO标准的年中的第几周 3qfo4@*Sjd
IYYY ISO标准的四位年份 j)F5:$.,G
YYYY 四位年份 _Gc\]}&
YYY,YY,Y 年份的最后三位,两位,一位 m%a0%F
HH 小时,按12小时计 "*}Z+*;Sb
HH24 小时,按24小时计 ~HWQ8or
MI 分 ?%)' Gb
SS 秒 5FbJKP
MM 月 rsP0]<.eY
Mon 月份的简写 O*:bKyZB
Month 月份的全名 =|<|W27-
W 该月的第几个星期 !'cXxrG
WW 年中的第几个星期 PA[VUBP
2huH5} 4
1.日期时间间隔操作 7U ^X tO7
当前时间减去7分钟的时间 (5A6l^^V
select sysdate,sysdate - interval ’7’ MINUTE from dual 6~#H4IM8'
当前时间减去7小时的时间 "Ek4cV3+P|
select sysdate - interval ’7’ hour from dual |^w[ 3OBU
当前时间减去7天的时间 ' o/kRM}
select sysdate - interval ’7’ day from dual pmsXh
当前时间减去7月的时间 "hntj0jS
select sysdate,sysdate - interval ’7’ month from dual 4keq|_
当前时间减去7年的时间 VR{X!:1+
select sysdate,sysdate - interval ’7’ year from dual fd`Xo&:z
时间间隔乘以一个数字 dOWWI79 %
select sysdate,sysdate - 8 *interval ’2’ hour from dual #as'R\E d
2.日期到字符操作 nd2L.u4,
select sysdate,to_char(sysdate,’yyyy-mm-dd hh24:mi:ss’) from dual lxCiZ0d,
select sysdate,to_char(sysdate,’yyyy-mm-dd hh:mi:ss’) from dual vf) 9=c~h
select sysdate,to_char(sysdate,’yyyy-ddd hh:mi:ss’) from dual zk2b Kbr,G
select sysdate,to_char(sysdate,’yyyy-mm iw-d hh:mi:ss’) from dual 00 B-HFl
参考oracle的相关关文档(ORACLE901DOC/SERVER.901/A90125/SQL_ELEMENTS4.HTM#48515) )z)q^X
3. 字符到日期操作 [\bXpBuo_
select to_date(’2003-10-17 21:15:37’,’yyyy-mm-dd hh24:mi:ss’) from dual 34G~w 7
具体用法和上面的to_char差不多。 :!t6;:
4. trunk/ ROUND函数的使用 h^HW;p\y
select trunc(sysdate ,’YEAR’) from dual ?#HH/2 7
select trunc(sysdate ) from dual ~aOt30PV
select to_char(trunc(sysdate ,’YYYY’),’YYYY’) from dual ]]FJJbr
5.oracle有毫秒级的数据类型 m b$mE(\v0
--返回当前时间 年月日小时分秒毫秒 ]")z+~@
select to_char(current_timestamp(5),’DD-MON-YYYY HH24:MI:SSxFF’) from dual; \l72W!!g;
--返回当前 时间的秒毫秒,可以指定秒后面的精度(最大=9) o3deFO
select to_char(current_timestamp(9),’MI:SSxFF’) from dual; 7eoeA@1y"
6.计算程序运行的时间(ms) guPBAISxh
declare N)p@K0RqZ
type rc is ref cursor; j4Cb2VLK!
l_rc rc; YDxMw5n
l_dummy all_objects.object_name%type; 7&D^CwL:
l_start number default dbms_utility.get_time; $*H%dmHc
begin fd.sig)$
for I in 1 .. 1000 *0'du{
loop nR:2NU>&o
open l_rc for n3}IT&uf\
’select object_name from all_objects ’|| .)=cy
’where object_id = ’ || i; Pf4l!/8N{
fetch l_rc into l_dummy; U(.=z]Z
close l_rc; '-a{5`o
end loop; >7o<I97r8
dbms_output.put_line (||b$T.R^z
( round( (dbms_utility.get_time-l_start)/100, 2 ) || X'FOG::pb
’ seconds...’ ); 3k<!?6c
end;