本文將演示以下4個 oracle中的常用日期函式。
函式功能
add_months(d,n)
在某乙個日期d上,加上指定的月數n,返回計算後的新日期
last_day(d)
返回指定日期當月的最後一天
round(d[,fmt])
返回乙個以fmt為格式的四捨五入日期值
extract(fmt from d)
返回乙個以fmt為格式的四捨五入日期值
下面將結合例項對這些函式進行介紹。
l add_months(d,n),在某乙個日期d上,加上指定的月數n,返回計算後的新日期。d表示日期,n表示要加的月數。
示例1:
sql> select sysdate,add_months(sysdate,5) from dual;
sysdate add_months(sys
06-12月-16 06-5月 -17
l last_day(d),返回指定日期當月的最後一天。
示例2:
sql> select sysdate,last_day(sysdate) from dual;
sysdate last_day(sysda
06-12月-16 31-12月-16
l round(d[,fmt]),返回乙個以fmt為格式的四捨五入日期值,d是日期,fmt是格式模型。預設fmt為ddd,即月中的某一天。
ø 如果fmt為「year」則捨入到某年的1月1日,即前半年捨去,後半年作為下一年。
ø 如果fmt為「month」則捨入到某月的1日,即前月捨去,後半月作為下一月。
ø 預設為「ddd」,即月中的某一天,最靠近的天,前半天捨去,後半天作為第二天。
ø 如果fmt為「day」則捨入到最近的周的週日,即上半周捨去,下半周作為下一周週日。
示例3:
sql> select sysdate,
2 round(sysdate),
3 round(sysdate,'day'),
4 round(sysdate,'month'),
5 round(sysdate,'year') from dual;
sysdate round(sysdate) round(sysdate, round(sysdate, round(sysdate,
06-12月-16 06-12月-16 04-12月-16 01-12月-16 01-1月 -17
與round對應的函式時trunc(d[,fmt])對日期的操作,trunc與round非常相似,只是不對日期進行捨入,直接擷取到對應格式的第一天。
l extract(fmt from d),提取日期中的特定部分。
fmt為:year、month、day、hour、minute、second。其中year、month、day可以為date型別匹配,也可以與timestamp型別匹配;但是hour、minute、second必須與timestamp型別匹配。
hour匹配的結果中沒有加上時區,因此在中國執行的結果小8小時。
示例4:
sql> select sysdate "data",
2 extract(year from sysdate) "year",
3 extract(month from sysdate) "month",
4 extract(day from sysdate ) "day",
5 extract(hour from systimestamp) "hore",
6 extract(minute from systimestamp) "minute",
7 extract(second from systimestamp) "second"
8 from dual;
data year month day hore minute second
06-12月-16 2016 12 6 1 38 26.481
Oracle系列之五 程序
一 概述 oracle資料庫是乙個多程序伺服器,當然在windows上是多執行緒的。具體分為伺服器程序 後台程序和從屬程序。二 伺服器程序 伺服器程序是指處理客戶請求的程序。伺服器程序又分為專用伺服器程序和共享伺服器程序。專用伺服器程序只處理乙個客戶連線的請求,跟客戶連線是一對一的關係。而共享伺服器...
MySQL常用函式系列之五 資料函式 2
本文將演示以下3個 mysql中的常用數值函式表4 2 mysql中的常用數值函式 函式功能 rand 返回0到1內的隨機值 round x,y 返回引數x的四捨五入的有y位小數的值 truncate x,y 返回數字x截斷為y位小數的結果 下面將結合例項對這些函式進行介紹。rand 函式 返回0到...
Oracle 之 常用函式
1 round x y 功能 返回四捨五入後的值 引數 x,y,數字型表示式,如果y不為整數則擷取y的整數部分,如果y 0則四捨五入為y位小數,如果小於0則為四捨五入到小數點向左第y位。返回 數字 示例 selectround 5555.6666,2.1 round 5555.6666,2.6 ro...