a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 67|回复: 0

[综合] Oracle辅导:oracletrunc()函数的用法

[复制链接]
发表于 2012-8-4 13:54:49 | 显示全部楼层 |阅读模式
 关于TRUNC函数的format,自己现在有点体会,format为day时,只精确到天,而不管几年几月只要是符合的day就可以了,要想确定一年中的某月的某一天就要用trunc(date,''dd'').   通俗的说吧,format为年时,精确到-----年
8 W; \  y8 Y  y* Z7 X& i  为月时,精确到------年,月(不管哪年,只要是相同的月和哪天)
- a) n$ U; F& C' r- s( b  为日时,精确到------年,月,日(不管哪年的哪月,只关心是哪天)4 T5 ^9 c; n* x0 h# Z
  1.TRUNC(for dates)
8 o3 Z8 M6 k* @  TRUNC函数为指定元素而截去的日期值。
/ E$ C/ Z# _+ g  其具体的语法格式如下:
, D; W5 N' ^. B0 i* I& }( _& u  TRUNC(date[,fmt])
6 w- j8 q0 j5 Y5 c. C  其中:
# N1 [( ?2 X! d( M& x1 }- Y  date 一个日期值1 I. K" V9 e8 K0 j# I% y, Z; u
  fmt 日期格式,该日期将由指定的元素格式所截去。忽略它则由最近的日期截去
5 k2 }6 V, F0 E$ x% p6 P2 p! A  下面是该函数的使用情况:
. R, _8 C/ z1 A5 t/ M  TRUNC(TO_DATE(’24-Nov-1999 08:00 pm’,’dd-mon-yyyy hh:mi am’))
" `+ O7 |& S& g9 f3 j# p+ `4 l  =’24-Nov-1999 12:00:00 am’
& ^% ~: w7 g& O* ]: f# j6 K) t  TRUNC(TO_DATE(’24-Nov-1999 08:37 pm’,’dd-mon-yyyy hh:mi am’,’hh’)) =’24-Nov-1999 08:00:00 am’% S/ ]$ e( X! Z+ |/ B
  round (date,''format'')未指定format时,如果日期中的时间在中午之前,则将日期中的时间截断为12 A.M.(午夜,一天的开始),否则进到第二天。& |* Q8 j; e% O( d" W& S' a9 F
  TRUNC(date,''format'')未指定format时,将日期截为12 A.M.,不考虑是否在中午之前的条件。) a( F6 g0 T* ]2 B3 n8 P. i0 [
  2.TRUNC(for number)
4 p- `  m1 X  b5 D' e( u  TRUNC函数返回处理后的数值,其工作机制与ROUND函数极为类似,只是该函数不对指定小数前或后的部分做相应舍入选择处理,而统统截去。
: E2 G$ B$ f! f$ O: ~  其具体的语法格式如下  C* u% u- B# t( U& ^
  TRUNC(number[,decimals])
! Y3 p/ b* t; {9 s* U' G; {7 I8 D  其中:
( T4 n4 |  \( v7 r, p  number 待做截取处理的数值, O; J/ T% U1 n" P8 \& T5 J
  decimals 指明需保留小数点后面的位数。可选项,忽略它则截去所有的小数部分
9 g' w' @# k, q- ]2 f: \  下面是该函数的使用情况:( {/ h) C; R  [% j8 D
  TRUNC(89.985,2)=89.98
, B, f) H$ P6 j8 z9 h# v  K* _9 W  TRUNC(89.985)=89# X- B9 E" F+ m: ]( x" J8 k
  TRUNC(89.985,-1)=800 W/ }6 Q7 I" \( [* [0 L5 }
  注意:第二个参数可以为负数,表示为小数点左边指定位数后面的部分截去,即均以0记
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Woexam.Com ( 湘ICP备18023104号 )

GMT+8, 2024-5-16 09:45 , Processed in 0.555702 second(s), 21 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表