发新话题
打印

详细讲述Oracle中的to_date参数含义

详细讲述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;



点击图标进入精品网摘收藏 欢迎大家加入网络收藏夹

TOP

发新话题