trunc函数

Oracle date和timestamp区别

不羁的心 提交于 2020-04-02 15:14:43
<转自> http://blog.csdn.net/huaguoming/article/details/8693679 在今天的工作中,学到了以下几个知识点: 一、date和timestamp 的区别 date类型是Oracle常用的日期型变量,他的时间间隔是秒。两个日期型相减得到是两个时间的间隔,注意单位是“天”。例如:查看一下当前距离伦敦奥运会开幕还有多长时间: select to_date('2012-7-28 03:12:00','yyyy-mm-dd hh24:mi:ss')-sysdate from dual 结果是:92.2472685185185天,然后你根据相应的时间换算你想要的间隔就行!这个结果可能对程序员有用,对于想直接看到结果的人,这个数字还不是很直观,所以,就引出了timestamp类型 timestamp是DATE类型的扩展,可以精确到小数秒( fractional_seconds_precision),可以是 0 to9,缺省是6。两个timestamp相减的话,不能直接的得到天数书,而是得到,多少天,多少小时,多少秒等,例如:同样查看一下当前距离伦敦奥运会开幕还有多长时间: select to_timestamp('2012-7-28 03:12:00','yyyy-mm-dd hh24:mi:ss')-systimestamp from dual

oracle常见日期函数

倾然丶 夕夏残阳落幕 提交于 2020-03-23 06:02:35
--常用日期函数 1、Sysdate 当前日期和时间 Select sysdate from dual; 2、Add_months(d,n) 当前日期d后推n个月 用于从一个日期值增加或减少一些月份 当前日期后两个月: Select add_months(sysdate,2) from dual; 当前日期前三个月: Select add_months(sysdate,-3) from dual; ADD_MONTHS是运算函数,函数将一个日期上加上一指定的月份数,所以,日期中的日是不变的。然而,如果开始日期是某月的最后一天,那么,结果将会调整以使返回值仍对应新的一月的最后一天。如果,结果月份的天数比开始月份的天数少,那么,也会向回调整以适应有效日期。 3、dbtimezone()返回时区 select dbtimezone from dual; 4,round[舍入到最接近的日期](day:舍入到最接近的星期日) select sysdate S1, round(sysdate) S2 , round(sysdate,'year') YEAR, round(sysdate,'month') MONTH , round(sysdate,'day') DAY fromdual 5、next_day( date, weekday )指定日期的下一个日期 语法 : next_day(

ORACLE中日期和时间函数汇总

邮差的信 提交于 2020-03-16 08:45:30
在oracle中处理日期大全 TO_DATE格式 Day: dd number 12 dy abbreviated fri day spelled out friday ddspth spelled out, ordinal twelfth Month: mm number 03 mon abbreviated mar month spelled out march Year: yy two digits 98 yyyy four digits 1998 24小时格式下时间范围为: 0:00:00 - 23:59:59.... 12小时格式下时间范围为: 1:00:00 - 12:59:59 .... 1. 日期和字符转换函数用法(to_date,to_char) 2. select to_char( to_date(222,'J'),'Jsp') from dual 显示Two Hundred Twenty-Two 3. 求某天是星期几 select to_char(to_date('2002-08-26','yyyy-mm-dd'),'day') from dual; 星期一 select to_char(to_date('2002-08-26','yyyy-mm-dd'),'day','NLS_DATE_LANGUAGE = American') from dual;

Oracle学习笔记:trunc函数

让人想犯罪 __ 提交于 2020-03-10 02:31:15
在 Oracle 中可以使用 trunc() 函数进行日期截取和数字截取。 一、日期截取 使用语法: trunc(date, [fmt]) -- 实例 -- select trunc(sysdate) from dual; -- 2018/11/14 返回当前的日期 select trunc(sysdate,'yyyy') from dual; -- 2018/1/1 返回当年第一天 select trunc(sysdate,'yy') from dual; -- 同上 select trunc(sysdate,'mm') from dual; -- 2018/11/1 返回当月第一天 select trunc(sysdate,'d') from dual; -- 2018/11/11 返回当周第一天 即周日 select trunc(sysdate,'dd') from dual; -- 2018/11/14 返回当前的日期 同省略格式 select trunc(sysdate,'HH24') from dual; -- 2018/11/14 刚好12点 所以00:00:00 省略 select trunc(to_date('20180513 12:30:19','yyyymmdd hh24:mi:ss'),'hh24') from dual; -- 2018/5/13 12

oracle中处理日期大全

限于喜欢 提交于 2020-01-24 08:15:14
oracle自带的函数很多很好用。   24小时格式下时间范围为: 0:00:00 - 23:59:59....   12小时格式下时间范围为: 1:00:00 - 12:59:59 ....   1.日期和字符转换函数用法(to_date,to_char)   2.select to_char( to_date(222,'J'),'Jsp') from dual   显示Two Hundred Twenty-Two   3.求某天是星期几 select to_char(to_date('2002-08-26','yyyy-mm-dd'),'day') from dual; 星期一 select to_char(to_date('2002-08-26','yyyy-mm-dd'),'day','NLS_DATE_LANGUAGE = American') from dual; monday   设置日期语言 ALTER SESSION SET NLS_DATE_LANGUAGE='AMERICAN';   也可以这样 TO_DATE ('2002-08-26', 'YYYY-mm-dd', 'NLS_DATE_LANGUAGE = American')   4.两个日期间的天数 select floor(sysdate - to_date('20020405','yyyymmdd'

ORACLE TRUNC()函数

試著忘記壹切 提交于 2020-01-21 10:23:38
TRUNC():类似截取函数,按指定的格式截取输入的数据。 1.【trunc(for dates)】TRUNC()函数处理日期 语法格式:TRUNC(date[,fmt])   其中:date 一个日期值;fmt 日期格式。 该日期将按指定的日期格式截取;忽略它则由最近的日期截取。 示例: select trunc(sysdate) from dual;--2017/2/13,返回当前时间 select trunc(sysdate,'yy') from dual;--2017/1/1,返回当年第一天 select trunc(sysdate,'mm') from dual;--2017/2/1,返回当月的第一天 select trunc(sysdate,'d') from dual;--2017/2/12,返回当前星期的第一天,即星期天 select trunc(sysdate,'dd') from dual;--2017/2/13,返回当前日期,今天是2017/2/13 select trunc(sysdate ,'HH24') from dual;--2017/2/13 15:00:00,返回本小时的开始时间 select trunc(sysdate ,'MI') from dual;--2017/2/13 15:13:00,返回本分钟的开始时间 2.【TRUNC(for

Oracle中trunc函数、round 函数、ceil函数和floor函数的使用

拟墨画扇 提交于 2020-01-08 03:17:22
1.1trunc函数处理数字 trunc函数返回处理后的数值,其工作机制与ROUND函数极为类似,只是该函数不对指定小数前或后的部分做相应舍入选择处理,而统统截去。 其具体的语法格式如下 TRUNC(number[,decimals]) 其中: number 待做截取处理的数值 decimals 指明需保留小数点后面的位数。可选项,忽略它则截去所有的小数部分。 1 select trunc(123.98)from dual; 2 select trunc(123.123,2)from dual; 3 select trunc(123.123,-1)from dual; 注意:第二个参数可以为负数,表示为小数点左边指定位数后面的部分截去,即均以0记。与取整类似,比如参数为1即取整到十分位,如果是-1,则是取整到十位,以此类推;如果所设置的参数为负数,且负数的位数大于或等于整数的字节数的话,则返回为0。如:TRUNC(89.985,-3)=0。 1.2trunc函数处理日期 trunc函数返回以指定元元素格式截去一部分的日期值。 其具体的语法格式如下: TRUNC(date,[fmt]) 其中: date为必要参数,是输入的一个日期值 fmt参数可忽略,是日期格式,用以指定的元素格式来截去输入的日期值。忽略它则由最近的日期截去 下面是该函数的使用情况: 1 trunc(sysdate,

oracle及Java日期格式

微笑、不失礼 提交于 2020-01-07 04:27:37
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 如果想转化为2005-07-05 的格式,则需要使用类 SimpleDateFormat SimpleDateFormat formatt= new SimpleDateFormat("yyyy-MM-dd") ; Date date =new Date(); System.out.println(formatt.format(date)); 则打印出的格式为:2005-07-07 SimpleDateFormat formatt= new SimpleDateFormat("yyyy-MMMM-dd") ; Date date =new Date(); System.out.println(formatt.format(date)); 则打印出的格式为:2005-七月-07 --------------------------- Oracle的默认日期格式 SQL> select sysdate from dual ; SYSDATE ---------- 07-7月-05 用to_char转化为yyyy-mm-dd的格式 SQL> select to_char(sysdate,'yyyy-mm-dd') Time from dual ; TIME ---------- 2005-07-07

Oracle中trunc函数、round 函数、ceil函数和floor函数的使用

半世苍凉 提交于 2020-01-06 04:38:47
1.1trunc函数处理数字 trunc函数返回处理后的数值,其工作机制与ROUND函数极为类似,只是该函数不对指定小数前或后的部分做相应舍入选择处理,而统统截去。 其具体的语法格式如下 TRUNC(number[,decimals]) 其中: number 待做截取处理的数值 decimals 指明需保留小数点后面的位数。可选项,忽略它则截去所有的小数部分。 1 select trunc(123.98)from dual; 2 select trunc(123.123,2)from dual; 3 select trunc(123.123,-1)from dual; 注意:第二个参数可以为负数,表示为小数点左边指定位数后面的部分截去,即均以0记。与取整类似,比如参数为1即取整到十分位,如果是-1,则是取整到十位,以此类推;如果所设置的参数为负数,且负数的位数大于或等于整数的字节数的话,则返回为0。如:TRUNC(89.985,-3)=0。 1.2trunc函数处理日期 trunc函数返回以指定元元素格式截去一部分的日期值。 其具体的语法格式如下: TRUNC(date,[fmt]) 其中: date为必要参数,是输入的一个日期值 fmt参数可忽略,是日期格式,用以指定的元素格式来截去输入的日期值。忽略它则由最近的日期截去 下面是该函数的使用情况: 1 trunc(sysdate,

sql to_char 日期转换字符串

喜你入骨 提交于 2019-12-22 01:07:30
sql to_char 日期转换字符串 1、转换函数 与date操作关系最大的就是两个转换函数:to_date(),to_char() to_date() 作用将字符类型按一定格式转化为日期类型: 具体用法:to_date(‘2004-11-27’,‘yyyy-mm-dd’),前者为字符串,后者为转换日期格式,注意,前后两者要以一对应。 如;to_date(‘2004-11-27 13:34:43’, ‘yyyy-mm-dd hh24:mi:ss’) 将得到具体的时间 多种日期格式: YYYY:四位表示的年份 YYY,YY,Y:年份的最后三位、两位或一位,缺省为当前世纪 MM:01~12的月份编号 MONTH:九个字符表示的月份,右边用空格填补 MON:三位字符的月份缩写 WW:一年中的星期 D:星期中的第几天 DD:月份中的第几天 DDD:年所中的第几天 DAY:九个字符表示的天的全称,右边用空格补齐 HH,HH12:一天中的第几个小时,12进制表示法 HH24:一天中的第几个小时,取值为00~23 MI:一小时中的分钟 SS:一分钟中的秒 SSSS:从午夜开始过去的秒数 to_char():将日期转按一定格式换成字符类型 SQL> select to_char(sysdate,‘yyyy-mm-dd hh24:mi:ss’) time from dual; TIME 2004