这篇文章给大家分享的是有关Oracle中怎么获取系统当前时间等操作的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

获取系统当前时间

date类型的

selectsysdatefromdual;

char类型的

selectto_char(sysdate,'yyyy-mm-ddhh34: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-062.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:358.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--12310.selecttrunc(123.458,0)fromdual--12311.selecttrunc(123.458,1)fromdual--123.412.selecttrunc(123.458,-1)fromdual--12013.selecttrunc(123.458,-4)fromdual--014.selecttrunc(123.458,4)fromdual--123.45815.selecttrunc(123)fromdual--12316.selecttrunc(123,1)fromdual--12317.selecttrunc(123,-1)fromdual--120

round函数(四舍五入)

描述 : 传回一个数值,该数值是按照指定的小数位元数进行四舍五入运算的结果。

SELECT ROUND( number, [ decimal_places ] ) FROM DUAL

参数:

number : 欲处理之数值

decimal_places : 四舍五入 , 小数取几位 ( 预设为 0 )

1Sample:2selectround(123.456,0)fromdual;回传1233selectround(123.456,1)fromdual;回传123.54selectround(-123.456,2)fromdual;回传-123.46

ceil和floor函数

ceil和floor函数在一些业务数据的时候,有时还是很有用的。

ceil(n) 取大于等于数值n的最小整数;

floor(n)取小于等于数值n的最大整数;

感谢各位的阅读!关于“Oracle中怎么获取系统当前时间等操作”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!