sql server日期時間函式

2022-03-28 09:37:42 字數 3446 閱讀 3594

from:

1.  當前系統日期、時間 

select

getdate()

select

dateadd(day,2,'

2004-10-15

')

--返回:2004-10-17 00:00:00.000

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

select

datediff(day,'

2004-09-01

','2004-09-18

')

--返回:17

4. datepart 返回代表指定日期的指定日期部分的整數。

select

datepart(month, '

2004-10-15

') --

返回 10

5. datename 返回代表指定日期的指定日期部分的字串

select

datename(weekday, '

2004-10-15

') --

返回:星期五

6. day(), month(),year() --可以與datepart對照一下

select 當前日期=

convert(varchar(10),getdate(),120) ,當前時間=

convert(varchar(8),getdate(),114

) select

datename(dw,'

2004-10-15')

select 本年第多少周=

datename(week,'

2004-10-15')

,今天是週幾

=datename(weekday,'

2004-10-15

')

函式:

函式引數/功能

getdate( )

返回系統目前的日期與時間

datediff (interval,date1,date2)

以interval 指定的方式,返回date2 與date1兩個日期之間的差值 date2-date1

dateadd (interval,number,date)

以interval指定的方式,加上number之後的日期

datepart (interval,date)

返回日期date中,interval指定部分所對應的整數值

datename (interval,date)

返回日期date中,interval指定部分所對應的字串名稱

引數 interval的設定值如下:

值縮 寫(sql server)

(access 和 asp)

說明year

yyyyyy

年 1753 ~ 9999

quarterqqq

季 1 ~ 4

monthmmm

月1 ~ 12

day of yeardyy

一年的日數,一年中的第幾日 1-366

daydd

d日,1-31

weekdaydww

一周的日數,一周中的第幾日 1-7

week

wkww

周,一年中的第幾周 0 ~ 51

hourhhh

時0 ~ 23

minutemin

分鐘0 ~ 59

secondsss

秒 0 ~ 59

millisecond

ms毫秒 0 ~ 999

access 和 asp 中用date()和now()取得系統日期時間;其中datediff,dateadd,datepart也同是能用於access和asp中,這些函式的用法也類似

舉例:

1.getdate() 用於sql server :select

getdate

()2.datediff('s,'

2005-07

-20',

'2005-7

-2522:56:32

')返回值為 514592

datediff(

'd',

'2005-07

-20',

'2005-7

-2522:56:32

')返回值為 5

3.datepart(

'w',

'2005-7

-2522:56:32

')返回值為 2 即星期一(週日為1,週六為7)

datepart(

'd',

'2005-7

-2522:56:32

')返回值為 25即25號)

datepart(

'y',

'2005-7

-2522:56:32

')返回值為 206即這一年中第206天

datepart(

'yyyy','

2005-7

-2522:56:32

')返回值為 2005即2023年

select gprsid from tb_gprs

where datediff ( mi , linetime , getdate() )>10    系統時間比系統時間小於10分鐘

datediff ( datepart , startdate , enddate )

引數datepart

是規定了應在日期的哪一部分計算差額的引數。下表列出了 microsoft? sql server? 識別的日期部分和縮寫。

日期部分 縮寫

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 * from tab where datediff(ss,日期,getdate())=10

減1年:dateadd(yy,-1,'2005-09-02   08:30:00')   

減1月:dateadd(mm,-1,'2005-09-02   08:30:00')   

減1天:dateadd(dd,-1,'2005-09-02   08:30:00')   

減1小時:dateadd(hh,-1,'2005-09-02   08:30:00')   

減1分鐘:dateadd(mi,-1,'2005-09-02   08:30:00')  

---------->>>

sql server日期時間函式

2.dateadd 在向指定日期加上一段時間的基礎上,返回新的 datetime 值 例如 向日期加上2天 select dateadd day,2,2004 10 15 返回 2004 10 17 00 00 00.000 3.datediff 返回跨兩個指定日期的日期和時間邊界數。select ...

sql server日期時間函式

sql server日期時間函式 sql server中的日期與時間函式 1.當前系統日期 時間 select getdate 2.dateadd 在向指定日期加上一段時間的基礎上,返回新的 datetime 值 例如 向日期加上2天 select dateadd day,2,2004 10 15 ...

sql server日期時間函式

sql server中的日期與時間函式 1.當前系統日期 時間 select getdate 2.dateadd 在向指定日期加上一段時間的基礎上,返回新的 datetime 值 例如 向日期加上2天 select dateadd day,2,2004 10 15 返回 2004 10 17 00 ...