永发信息网

oracle trunc()函数关于日期和时间,需要详细解答和举例?

答案:3  悬赏:0  手机版
解决时间 2021-03-17 10:50
oracle trunc()函数关于日期和时间,需要详细解答和举例?
最佳答案
Trunc Function (with dates)

In Oracle/PLSQL, the trunc function returns a date truncated to a specific unit of measure.
oracle中,trunc函数返回一个按照特定计量单位截取后的date值
The syntax for the trunc function is:
语法如下:
trunc ( dat1e, [ format ] )

da1te is the date to truncate.
da1te是要截断的date
format is the unit of measure to apply for truncating. If the format parameter is omitted, the trunc function will truncate the date to the day value, so that any hours, minutes, or seconds will be truncated off.
format 是截取时依据的计量单位(类似于数字中的精度)。如果format省略,date1就返回当天的日期值,即只保留日期,时间为 0:00:00

Below are the valid format parameters:
以下是合法的参数值:
Unit Valid format parameters
Year 】 SYYYY, YYYY, YEAR, SYEAR, YYY, YY, Y
ISO Year】 IYYY, IY, I
Quarter】 Q
Month】 MONTH, MON, MM, RM
Week】 WW
IW】 IW
W】 W
Day】 DDD, DD, J
Start day of the week】 DAY, DY, D
Hour】 HH, HH12, HH24
Minute】 MI

Applies To:

Oracle 8i, Oracle 9i, Oracle 10g, Oracle 11g

For example:

trunc(to_date('22-AUG-03'), 'YEAR') would return '01-JAN-03'
trunc(to_date('22-AUG-03'), 'Q') would return '01-JUL-03'
trunc(to_date('22-AUG-03'), 'MONTH') would return '01-AUG-03'
trunc(to_date('22-AUG-03'), 'DDD') would return '22-AUG-03'
trunc(to_date('22-AUG-03'), 'DAY') would return '17-AUG-03'
全部回答
以下 SQL 执行于 2010-10-17 22点多这个样子。
不知道你看了例子以后,能不能明白。
alter session set nls_date_format='YYYY-MM-DD HH24:MI:SS';
Session altered.
SQL> SELECt 'Year' AS truncType , TRUNC( SYSDATE, 'YYYY' ) FROM DUAL
2 UNIOn ALL
3 SELECt 'Quarter' AS truncType, TRUNC( SYSDATE, 'Q' ) FROM DUAL
4 UNIOn ALL
5 SELECt 'Month' AS truncType, TRUNC( SYSDATE, 'MM' ) FROM DUAL
6 UNIOn ALL
7 SELECt 'Week' AS truncType, TRUNC( SYSDATE, 'W' ) FROM DUAL
8 UNIOn ALL
9 SELECt 'Day' AS truncType, TRUNC( SYSDATE, 'D' ) FROM DUAL
10 UNIOn ALL
11 SELECt 'Hour' AS truncType, TRUNC( SYSDATE, 'HH' ) FROM DUAL;
TRUNCTYPE TRUNC(SYSDATE,'YYYY
-------------- -------------------
Year 2010-01-01 00:00:00
Quarter 2010-10-01 00:00:00
Month 2010-10-01 00:00:00
Week 2010-10-15 00:00:00
Day 2010-10-17 00:00:00
Hour 2010-10-17 22:00:00
6 rows selected.
TRUNC()函数分两种
1.TRUNC(for dates)
TRUNC函数为指定元素而截去的日期值。
其具体的语法格式如下:
TRUNC(date[,fmt])
其中:
date 一个日期值
fmt 日期格式,该日期将由指定的元素格式所截去。忽略它则由最近的日期截去
下面是该函数的使用情况:
TRUNC(TO_DATE(’24-Nov-1999 08:00 pm’,’dd-mon-yyyy hh:mi am’))
=’24-Nov-1999 12:00:00 am’
TRUNC(TO_DATE(’24-Nov-1999 08:37 pm’,’dd-mon-yyyy hh:mi am’,’hh’)) =’24-Nov-1999 08:00:00 am’
2.TRUNC(for number)
TRUNC函数返回处理后的数值,其工作机制与ROUND函数极为类似,只是该函数不对指定小数前或后的部分做相应舍入选择处理,而统统截去。
其具体的语法格式如下
TRUNC(number[,decimals])
其中:
number 待做截取处理的数值
decimals 指明需保留小数点后面的位数。可选项,忽略它则截去所有的小数部分
下面是该函数的使用情况:
TRUNC(89.985,2)=89.98
TRUNC(89.985)=89
TRUNC(89.985,-1)=80
注意:第二个参数可以为负数,表示为小数点左边指定位数后面的部分截去,即均以0记。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
一个有原则的女孩,而且很独立,正常情况下多
湖南凤凰古城要门票吗?
汽车驱动桥的满载轴荷(比如说3000Kg)是什么
菜子洼在哪里啊,我有事要去这个地方
都是歌唱初恋的好,请问有歌唱初恋不好的歌吗
在露天晒台地上怎样铺地砖
单选题为有效应对金融危机,我国政府提出“大
我想找几句思念的诗 越煽情越好!!! 谢谢
vivov3有1.2GHZ的处理器吗
以前有个机战系的页游,求名字和链接
pei和什么材料接近
松林连锁生活超市NO.084地址有知道的么?有点
东风天锦160的百公里用多少升尿素液
梦见在好大的水边洗脚差点掉到水里
假设你有10个空的啤酒瓶子,3个空瓶子可以换
推荐资讯
康佳的洗衣机怎样?看到商场搞活动,有点心动
德农种子公司这个地址在什么地方,我要处理点
我在淘宝买的流量套餐,收到短信,您订购的全
八十斤的大金毛能卖多少钱?
黄龙山隧道怎么去啊,有知道地址的么
黄道益多少钱一瓶
QQ宠物Q宠大乐斗我20J了,人家在QQ宠物显示了
福州哪里有即能吃饭又能喝酒的餐吧
面对越来越多的诱惑,面对人生的各种考验,我
错过天堂让你明白什么
澳洲1415新表问题,求助求助,what is your v
求五十度黑超清百度云,带字幕的。
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?