详细讲述Oracle中的to_date参数含义
日期格式参数 含义说明
. Z) @, A8 G; |* ? V: T! L0 pD 一周中的星期几
1 k1 Y- i Y0 A; v0 n- j# TDAY 天的名字,使用空格填充到9个字符
- Z/ o) L- o" h! n# bDD 月中的第几天 3 A. I+ ~, u& e L: p3 k4 B/ h& _
DDD 年中的第几天 8 ~, h+ c$ b5 o0 w
DY 天的简写名
, F; u; t# J2 Z/ n. mIW ISO标准的年中的第几周
1 ]+ M/ z& s5 d' p7 Z/ jIYYY ISO标准的四位年份 6 i* z8 Y9 S( Y- f8 o5 c
YYYY 四位年份
6 t6 K2 @5 F/ q8 ], q1 tYYY,YY,Y 年份的最后三位,两位,一位
c1 Z* ~2 V8 a. J0 s0 B% r5 UHH 小时,按12小时计 : I/ N: W* e# v5 V W, ?: U
HH24 小时,按24小时计
D$ H# g+ D' K6 M# f9 i+ KMI 分 5 t0 q8 Z$ C! B( S
SS 秒
) S7 q# ]7 u/ U$ \MM 月 , u5 F4 r# m7 I# c! m5 Z0 M3 T
Mon 月份的简写 " k3 j9 p0 ~( a+ F
Month 月份的全名 5 R* A7 A# m* \7 k$ X0 R
W 该月的第几个星期 $ V, \1 G1 j# X
WW 年中的第几个星期 6 h" `% _; ~. M$ Q& C6 A
4 D$ a+ X. J& }9 c 1.日期时间间隔操作
" l) Z' T$ ]0 c" }+ I6 n0 T9 h/ i 当前时间减去7分钟的时间 ) \) H8 p" g. V+ U1 z4 g+ U
select sysdate,sysdate - interval ’7’ MINUTE from dual
R; \6 A* g0 R1 g6 @: o4 Y$ H 当前时间减去7小时的时间 + X' V9 [+ U ?4 u- I
select sysdate - interval ’7’ hour from dual
: c( r; h- A1 p8 y* L" C$ G2 s2 \2 e 当前时间减去7天的时间 \' y% K/ v4 X9 J1 u! h6 C; h Z4 H$ r& i
select sysdate - interval ’7’ day from dual
# A& H" T8 ?8 W! |: z 当前时间减去7月的时间
$ ` V# d8 ?' g, I) L, i select sysdate,sysdate - interval ’7’ month from dual
( B- _+ r- Y, h# N# r/ ~, a 当前时间减去7年的时间
8 P7 \+ Q6 q6 s! b) ^9 H select sysdate,sysdate - interval ’7’ year from dual
, c- E' e% i& D) G 时间间隔乘以一个数字 : d$ H' q" u9 s+ M0 N
select sysdate,sysdate - 8 *interval ’2’ hour from dual c# q0 t S- K) R7 t4 Z3 n
2.日期到字符操作
; |; _8 f% I- Q4 H/ C! S% D, P select sysdate,to_char(sysdate,’yyyy-mm-dd hh24:mi:ss’) from dual ( V Y1 [2 o2 l5 v. x/ g
select sysdate,to_char(sysdate,’yyyy-mm-dd hh:mi:ss’) from dual 6 V4 Z$ x# ]5 ]8 F: i! u: k
select sysdate,to_char(sysdate,’yyyy-ddd hh:mi:ss’) from dual
0 B3 p! j- d9 l$ u6 g& U% p select sysdate,to_char(sysdate,’yyyy-mm iw-d hh:mi:ss’) from dual ' Y3 Y/ A: D$ c/ q$ x
参考oracle的相关关文档(ORACLE901DOC/SERVER.901/A90125/SQL_ELEMENTS4.HTM#48515) * q! F, T, f6 m7 i! ]
3. 字符到日期操作
: L1 Q( `2 b5 G6 I0 D# `$ o2 Z select to_date(’2003-10-17 21:15:37’,’yyyy-mm-dd hh24:mi:ss’) from dual
. k7 E4 k! X( ~/ Z" v' k- f% R 具体用法和上面的to_char差不多。
! n# K% O4 Q4 }" {5 E$ h% E" s) f& d 4. trunk/ ROUND函数的使用
+ s# R$ T/ h4 ^! } select trunc(sysdate ,’YEAR’) from dual
$ b: {3 K5 o* l# k9 K. l+ Z select trunc(sysdate ) from dual `6 [; e8 V, y8 a: y+ L! b% _5 J
select to_char(trunc(sysdate ,’YYYY’),’YYYY’) from dual
9 w7 e8 [+ \. C+ S2 ~ 5.oracle有毫秒级的数据类型
0 E6 h% |: V# F3 K --返回当前时间 年月日小时分秒毫秒
4 e, N( A' {& J. D1 y+ t select to_char(current_timestamp(5),’DD-MON-YYYY HH24:MI:SSxFF’) from dual; 7 y+ Z! W" _( J
--返回当前 时间的秒毫秒,可以指定秒后面的精度(最大=9)
+ }7 b! y6 W4 u7 P9 G( R; z& B6 C4 O select to_char(current_timestamp(9),’MI:SSxFF’) from dual;
7 n. t1 i6 y+ X1 K7 E5 e 6.计算程序运行的时间(ms)
* y1 j! |; F; L2 ?& {4 ~" e" T declare - X- `' U: t/ `4 ?
type rc is ref cursor;
3 B9 _) m. P4 o- U- q, Z l_rc rc; * M! i. H, A4 r. `0 c) [( P
l_dummy all_objects.object_name%type;
: g/ U* Y6 {& O l_start number default dbms_utility.get_time; ' \: {* ]0 ~3 K! \: h
begin
9 U) {: h7 F- c7 m: a for I in 1 .. 1000 4 K& {. m; e: R) H
loop
* ?+ Y! s6 K. t) k$ ^ open l_rc for
: q6 s+ r2 R. J1 x, I3 W$ p ’select object_name from all_objects ’|| : t/ A4 R6 V2 h& w- q
’where object_id = ’ || i; 4 Z; }7 ~5 g4 M# A
fetch l_rc into l_dummy;
$ K& b7 q/ A( e q close l_rc;
?9 N8 ]- v: g end loop; % W, Y( l, j7 X* ]
dbms_output.put_line
! {7 j" V* B! S2 ~) o ( round( (dbms_utility.get_time-l_start)/100, 2 ) ||
! U& ]. u! l/ d1 w3 T R# { ’ seconds...’ );
6 ^* M: o; o- P" ~4 P2 O; O+ M end;
点击图标进入精品网摘收藏 欢迎大家加入网络收藏夹