Oracle如何获取系统当前时间等操作实例
获取系统当前时间
date类型的
selectsysdatefromdual;
char类型的
selectto_char(sysdate,'yyyy-mm-ddhh24:mi:ss')fromdual; selectto_char(sysdate,'yyyy')fromdual;--年 selectto_char(sysdate,'MM')fromdual;--月 selectto_char(sysdate,'dd')fromdual;--日 selectto_char(sysdate,'Q')fromdual;--季 selectto_char(sysdate,'iw')fromdual;--周--按日历上的那种,每年有52或者53周
日期操作
当前时间减去7分钟的时间 selectsysdate,sysdate-interval'7'MINUTEfromdual; 当前时间减去7小时的时间 selectsysdate-interval'7'hourfromdual; 当前时间减去7天的时间 selectsysdate-interval'7'dayfromdual; 当前时间减去7月的时间 selectsysdate,sysdate-interval'7'monthfromdual; 当前时间减去7年的时间 selectsysdate,sysdate-interval'7'yearfromdual; 时间间隔乘以一个数字 selectsysdate,sysdate-8*interval'7'hourfromdual;
常用的时间戳
//获取当年的一月一号 to_date(concat((selectto_char(sysdate,'yyyy')fromdual),'-01-0100:00:00'),'yyyy-MM-ddHH24:mi:ss')//date格式 //获取这个月的一月一号 SELECTLAST_DAY(ADD_MONTHS(SYSDATE,-1))+1FROMDUAL;//date格式 SELECTTO_CHAR(LAST_DAY(ADD_MONTHS(SYSDATE,-1))+1,'yyyy-mm-ddHH24:mi:ss')FROMDUAL;//char格式
trunc()函数
trunc函数处理数字
该函数不对指定小数前或后的部分做相应舍入选择处理,而统统截去。
其具体的语法格式如下
TRUNC(number[,decimals])
其中:
number待做截取处理的数值
decimals指明需保留小数点后面的位数。可选项,忽略它则截去所有的小数部分。
1selecttrunc(123.98)fromdual; 2selecttrunc(123.123,2)fromdual; 3selecttrunc(123.123,-1)fromdual;
注意:第二个参数可以为负数,表示为小数点左边指定位数后面的部分截去,即均以0记。与取整类似,比如参数为1即取整到十分位,如果是-1,则是取整到十位,以此类推;如果所设置的参数为负数,且负数的位数大于或等于整数的字节数的话,则返回为0。如:TRUNC(89.985,-3)=0。
trunc函数处理日期
trunc函数返回以指定元元素格式截去一部分的日期值。
其具体的语法格式如下:
TRUNC(date,[fmt])
其中:
date为必要参数,是输入的一个日期值
fmt参数可忽略,是日期格式,用以指定的元素格式来截去输入的日期值。忽略它则由最近的日期截去
下面是该函数的使用情况:
1trunc(sysdate,'yyyy')--返回当年第一天. 2trunc(sysdate,'mm')--返回当月第一天. 3trunc(sysdate,'d')--返回当前星期的第一天. 4selecttrunc(sysdate,'YYYY')fromdual; 5selecttrunc(sysdate,'MM')fromdual; 6selecttrunc(sysdate,'D')fromdual;
/**************日期********************/ 1.selecttrunc(sysdate)fromdual--2013-01-06今天的日期为2013-01-06 2.selecttrunc(sysdate,'mm')fromdual--2013-01-01返回当月第一天. 3.selecttrunc(sysdate,'yy')fromdual--2013-01-01返回当年第一天 4.selecttrunc(sysdate,'dd')fromdual--2013-01-06返回当前年月日 5.selecttrunc(sysdate,'yyyy')fromdual--2013-01-01返回当年第一天 6.selecttrunc(sysdate,'d')fromdual--2013-01-06(星期天)返回当前星期的第一天 7.selecttrunc(sysdate,'hh')fromdual--2013-01-0617:00:00当前时间为17:35 8.selecttrunc(sysdate,'mi')fromdual--2013-01-0617:35:00TRUNC()函数没有秒的精确 /***************数字********************/ /* TRUNC(number,num_digits) Number需要截尾取整的数字。 Num_digits用于指定取整精度的数字。Num_digits的默认值为0。 TRUNC()函数截取时不进行四舍五入 */ 9.selecttrunc(123.458)fromdual--123 10.selecttrunc(123.458,0)fromdual--123 11.selecttrunc(123.458,1)fromdual--123.4 12.selecttrunc(123.458,-1)fromdual--120 13.selecttrunc(123.458,-4)fromdual--0 14.selecttrunc(123.458,4)fromdual--123.458 15.selecttrunc(123)fromdual--123 16.selecttrunc(123,1)fromdual--123 17.selecttrunc(123,-1)fromdual--120
round函数(四舍五入)
描述:传回一个数值,该数值是按照指定的小数位元数进行四舍五入运算的结果。
SELECTROUND(number,[decimal_places])FROMDUAL
参数:
number:欲处理之数值
decimal_places:四舍五入,小数取几位(预设为0)
1Sample: 2selectround(123.456,0)fromdual;回传123 3selectround(123.456,1)fromdual;回传123.5 4selectround(-123.456,2)fromdual;回传-123.46
ceil和floor函数
ceil和floor函数在一些业务数据的时候,有时还是很有用的。
ceil(n)取大于等于数值n的最小整数;
floor(n)取小于等于数值n的最大整数;
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对毛票票的支持。