sql日期有關函式以及oracle日期有關函式

2022-02-20 01:03:07 字數 4339 閱讀 8177

sql日期有關函式以及oracle日期有關函式

sql日期函式

-- dateadd

-- 在向指定日期加上一段時間的基礎上,返回新的 datetime 值。

-- dateadd ( datepart , number, date )

-- 日期部分 縮寫

-- year  yy, yyyy

-- quarter  qq, q

-- month  mm, m

-- dayofyear  dy, y

-- day   dd, d

-- week  wk, ww

-- hour  hh

-- minute  mi, n

-- second  ss, s

-- millisecond  ms

select dateadd(mm,5,'01/01/1900') as date-- dateadd

-- 在向指定日期加上一段時間的基礎上,返回新的 datetime 值。

-- dateadd ( datepart , number, date )

-- 日期部分 縮寫

-- year  yy, yyyy

-- quarter  qq, q

-- month  mm, m

-- dayofyear  dy, y

-- day   dd, d

-- week  wk, ww

-- hour  hh

-- minute  mi, n

-- second  ss, s

-- millisecond  ms

select dateadd(mm,5,'01/01/1900') as date

--返回 : 1900-06-01 00:00:00.000

-- datediff

-- 返回跨兩個指定日期的日期和時間邊界數。

-- -- 語法

-- datediff ( datepart , startdate , enddate )

-- 日期部分 縮寫

-- year  yy, yyyy

-- quarter  qq, q

-- month  mm, m

-- dayofyear  dy, y

-- day   dd, d

-- week  wk, ww

-- hour  hh

-- minute  mi, n

-- second  ss, s

-- millisecond  ms

select datediff(yy,'1900-01-01',getdate())

--返回:106

-- datename

-- 返回代表指定日期的指定日期部分的字串。

-- -- 語法

-- datename ( datepart , date )

-- 日期部分 縮寫

-- year   yy, yyyy

-- quarter  qq, q

-- month   mm, m

-- dayofyear  dy, y

-- day   dd, d

-- week   wk, ww

-- hour   hh

-- minute   mi, n

-- second   ss, s

-- millisecond  ms

select datename(year, getdate())+'年'+datename(month, getdate())+'月' as 'month name'

oracle日期函式

日期格式引數 含義說明

d 一周中的星期幾

day 天的名字,使用空格填充到9個字元

dd 月中的第幾天  

ddd 年中的第幾天

dy 天的簡寫名

iw iso標準的年中的第幾周

iyyy iso標準的四位年份

yyyy 四位年份

yyy,yy,y 年份的最後三位,兩位,一位

hh 小時,按12小時計

hh24 小時,按24小時計  

mi 分  

ss 秒  

mm 月  

mon 月份的簡寫  

month 月份的全名  

w 該月的第幾個星期

ww 年中的第幾個星期

1.日期時間間隔操作  

當前時間減去7分鐘的時間

select sysdate,sysdate - interval 』7』 minute from dual

當前時間減去7小時的時間

select sysdate - interval 』7』 hour from dual  

當前時間減去7天的時間  

select sysdate - interval 』7』 day from dual

當前時間減去7月的時間  

select sysdate,sysdate - interval 』7』 month from dual

當前時間減去7年的時間

select sysdate,sysdate - interval 』7』 year from dual

時間間隔乘以乙個數字  

select sysdate,sysdate - 8 *interval 』2』 hour from dual

2.日期到字元操作

select sysdate,to_char(sysdate,』yyyy-mm-dd hh24:mi:ss』) from dual  

select sysdate,to_char(sysdate,』yyyy-mm-dd hh:mi:ss』) from dual  

select sysdate,to_char(sysdate,』yyyy-ddd hh:mi:ss』) from dual

select sysdate,to_char(sysdate,』yyyy-mm iw-d hh:mi:ss』) from dual  

參考oracle的相關關文件(oracle901doc/server.901/a90125/sql_elements4.htm#48515)  

3. 字元到日期操作  

select to_date(』2003-10-17 21:15:37』,』yyyy-mm-dd hh24:mi:ss』) from dual  

具體用法和上面的to_char差不多。

4. trunk/ round函式的使用

select trunc(sysdate ,』year』) from dual

select trunc(sysdate ) from dual

select to_char(trunc(sysdate ,』yyyy』),』yyyy』) from dual

5.oracle有毫秒級的資料型別

--返回當前時間 年月日小時分秒毫秒

select to_char(current_timestamp(5),』dd-mon-yyyy hh24:mi:ssxff』) from dual;

--返回當前 時間的秒毫秒,可以指定秒後面的精度(最大=9)  

select to_char(current_timestamp(9),』mi:ssxff』) from dual;

6.計算程式執行的時間(ms)

declare

type rc is ref cursor;  

l_rc rc;

l_dummy all_objects.object_name%type;  

l_start number default dbms_utility.get_time;

begin

for i in 1 .. 1000

loop

open l_rc for  

』select object_name from all_objects 』||  

』where object_id = 』 || i;  

fetch l_rc into l_dummy;  

close l_rc;

end loop;  

dbms_output.put_line

( round( (dbms_utility.get_time-l_start)/100, 2 ) ||

』 seconds...』 );

end;

sql日期有關函式以及oracle日期有關函式

關於日期函式以及日期計算的sql總匯

now 為獲取當前系統時間 select now 精確至毫秒值 select curdate 精確至日期值 獲取時間欄位中該月的最後一天 select last day now select last day 2000 02 01 分別獲取日期欄位的年月日 select year now selec...

SQL 中常用的日期函式以及SQL中常見的日期轉換

當前年月日curdate 當前的時刻curtime 日期的運算 datediff 2020 10 20 1996 10 29 date diff time,time1 返回兩個日期之間 time,time1 的天數 timediff time,time1 兩個日期相減 time time1,返回 t...

建構函式以及this

實際上建構函式與普通的函式並沒有區別,所以一般在開發中會使用大駝峰命名規則來區別普通的函式,建構函式實際上是通過返回乙個this值來完成建構函式的建立的.這個rutern this的操作由new這個操作符來完成,當然個人也可以手動來設定return的返回值,手動設定的返回值會覆蓋由new所自動新增的...