oracle日期函数

Oracle trunc()函数的用法

匿名 (未验证) 提交于 2019-12-02 23:49:02
Oracle trunc()函数的用法 日期 select trunc(sysdate) from dual --2019/7/21 今天的日期为2019/7/21 select trunc(sysdate, 'mm') from dual --2019/7/1 返回当月第一天. select trunc(sysdate,'yy') from dual --2019/1/1 返回当年第一天 select trunc(sysdate,'dd') from dual --2019/7/21 返回当前年月日(当天) select trunc(sysdate,'yyyy') from dual --2019/1/1返回当年第一天 select trunc(sysdate,'dd') from dual --2019/7/21 (星期天)返回当前星期的第一天 select trunc(sysdate, 'hh') from dual --2019/7/21 23:00:00 当前时间为23:02(整点) select trunc(sysdate, 'mi') from dual --2019/7/21 23:02:00 TRUNC()函数没有秒的精确 数字 TRUNC(number,num_digits) Number 需要截尾取整的数字。 Num_digits 用于指定取整精度的数字

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

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

Mysql 查询日期格式化 DATE_FORMAT()

匿名 (未验证) 提交于 2019-12-02 22:02:20
之前我一直使用oracle,习惯了oracle的语法格式,现在换成mysql有些地方是有区别的,我在查询时间进行格式化的时候就发现问题了,现在在这做个记录 一般在oracle中利用 to_char或者to_date() Oracle to_char 函数的功能是将数值型或者日期型转化为字符型: eg: mysql 中使用 DATE_FORMAT: 文章来源: https://blog.csdn.net/zkk1973/article/details/97259613

Oracle中的虚拟表:dual

无人久伴 提交于 2019-12-02 11:44:17
dual是Oracle中的一个虚拟表,无论什么时候,它只有一条记录:X 那这个表有什么卵用呢?还是有点卵用的:它可以拿来凑数,以满足语法要求。具体看几个例子就了然了: 1、查当前登陆用户名    2、当计算器使    3、获取一个随机数    4、拼接字符串    5、获取当前日期      格式不太友好,还可以调用个系统函数调整一下格式:    简单来说,dual就是个接盘侠,当你要查的东西不在任何表里,但是不写个表名Oracle又会报语法错误,这个时候把它安在dual这个接盘侠身上就行了。 dual就是这么乐于助人~ 来源: https://www.cnblogs.com/qscfyuk/p/11743517.html

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

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

oracle 获取某个时间

旧街凉风 提交于 2019-12-01 02:46:54
1、获取前一自然日:select to_char(TRUNC(to_date(20190101,'yyyy-mm-dd')-1),'yyyymmdd') from dual; 2、以下引用自: https://blog.csdn.net/wangchangpen62/article/details/46548893 –前一天的开始时刻 SELECT to_date(to_char(TRUNC(SYSDATE-1),’yyyy-mm-dd’) || ‘00:00:00’,’yyyy-mm-dd hh24:mi:ss’) FROM DUAL; –前一天的最后时刻 SELECT to_date(to_char(TRUNC(SYSDATE-1),’yyyy-mm-dd’) || ‘23:59:59’,’yyyy-mm-dd hh24:mi:ss’) FROM DUAL; –上个月第一天的最后时刻 select to_date(to_char(add_months(trunc(sysdate),-1),’yyyy-mm’) || ‘01 23:59:59’,’yyyy-mm-dd hh24:mi:ss’)from dual; –上个月的第一天 SELECT to_date(to_char(TRUNC(SYSDATE-1),’yyyymm’) || ‘01’,’yyyy-mm-dd’)

oracle 中的next_day函数

若如初见. 提交于 2019-11-30 20:57:32
执行select sysdate from dual;得到当前日期为:2014/4/30 14:11:33 星期三 select next_day(sysdate,'星期日') from dual; 得到日期为:2014/5/4 14:12:53 从这个礼拜三到得到礼拜天的日期数 如果执行select next_day(sysdate,'星期日') from dual; 得到日期为2014/5/6 14:14:31,即从这个礼拜三得到下个礼拜二的日期数,而不是这个礼拜二的日期数 因此next_day(sysdate,'XXXX')函数的作用为,从当前日期开始得到到未来 星期数 的日期。 select next_day(to_date('2014-4-1','yyyy-MM-dd'),'星期三') from dual; 从特定日期得到之后的第一个星期几的日期。 来源: https://www.cnblogs.com/turnip/p/11639848.html

oracle笔记之计算年龄、工龄

落花浮王杯 提交于 2019-11-30 11:56:18
方法一:利用months_between 函数计算 SELECT TRUNC(months_between(sysdate, birthday)/12) AS age from dual; 方法二:日期转换为 'yyyyMMdd' 格式后,相差一年的两个日期差为:10000 select TRUNC((to_char(sysdate, 'yyyyMMdd') - to_char(birth, 'yyyyMMdd')) / 10000) as age from mytable 来源: https://www.cnblogs.com/Bokeyan/p/11582661.html

oracle中处理日期的方法

淺唱寂寞╮ 提交于 2019-11-30 00:35:50
1. 日期和字符转换函数用法(to_date,to_char ) select to_char(sysdate,‘yyyy-mm-dd hh24:mi:ss’) as nowTime from dual; //日期转化为字符串 select to_char(sysdate,‘yyyy’) as nowYear from dual; //获取时间的年 select to_char(sysdate,‘mm’) as nowMonth from dual; //获取时间的月 select to_char(sysdate,‘dd’) as nowDay from dual; //获取时间的日 select to_char(sysdate,‘hh24’) as nowHour from dual; //获取时间的时 select to_char(sysdate,‘mi’) as nowMinute from dual; //获取时间的分 select to_char(sysdate,‘ss’) as nowSecond from dual; //获取时间的秒 2. 字符串和时间互转 select to_date(‘2004-05-07 13:23:44’,‘yyyy-mm-dd hh24:mi:ss’) from dual select to_char( to_date(222,‘J’),

oracle时间加减操作

こ雲淡風輕ζ 提交于 2019-11-29 22:43:27
加法   select sysdate,add_months(sysdate,12) from dual; --加1年   select sysdate,add_months(sysdate,1) from dual; --加1月   select sysdate,to_char(sysdate+7,'yyyy-mm-dd HH24:MI:SS') from dual; --加1星期   select sysdate,to_char(sysdate+1,'yyyy-mm-dd HH24:MI:SS') from dual; --加1天   select sysdate,to_char(sysdate+1/24,'yyyy-mm-dd HH24:MI:SS') from dual; --加1小时   select sysdate,to_char(sysdate+1/24/60,'yyyy-mm-dd HH24:MI:SS') from dual; --加1分钟   select sysdate,to_char(sysdate+1/24/60/60,'yyyy-mm-dd HH24:MI:SS') from dual; --加1秒   减法   select sysdate,add_months(sysdate,-12) from dual; --减1年   select