SQL Server 中日期比較

2021-06-22 01:49:14 字數 2976 閱讀 4246

1. 當前系統日期、時間

select getdate()

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

例如:向日期加上2天

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)

7. select datename(dw,'2004-10-15')

select 本年第多少周=datename(week,getdate())

,今天是週幾=datename(weekday,getdate())

函式 引數/功能

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 yy yyyy 年 1753 ~ 9999

quarter qq q 季 1 ~ 4

month mm m 月1 ~ 12

day of year dy y 一年的日數,一年中的第幾日 1-366

day dd d 日,1-31

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

week wk ww 周,一年中的第幾周 0 ~ 51

hour hh h 時0 ~ 23

minute mi n 分鐘0 ~ 59

second ss s 秒 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-25 22:56:32')返回值為 514592 秒

datediff('d','2005-07-20','2005-7-25 22:56:32')返回值為 5 天

3.datepart('w','2005-7-25 22:56:32')返回值為 2 即星期一(週日為1,週六為7)

datepart('d','2005-7-25 22:56:32')返回值為 25即25號

datepart('y','2005-7-25 22:56:32')返回值為 206即這一年中第206天

datepart('yyyy','2005-7-25 22:56:32')返回值為 2005即2023年

sql server datepart() 函式返回 sqlserver datetime 欄位的一部分。

sql server datepart() 函式的語法是:

datepart(portion, datetime)

其中 datetime 是 sqlserver datetime 欄位和部分的名稱是下列之一: ms for milliseconds

yy for year

qq for quarter of the year

mm for month

dy for the day of the year

dd for day of the month

wk for week

dw for the day of the week

hh for hour

mi for minute

ss for second

--1.編寫函式,實現按照'年月日,星期幾,上午下午晚上'輸出時間資訊(2023年3月16日星期一下午)

select datename(yy,getdate()) + '年' +

datename(mm,getdate()) + '月' +

datename(dd,getdate()) + '日' +

datename(weekday,getdate()) +

case when datename(hh,getdate()) < 12 then '上午' else '下午' end

--2.編寫函式,根據輸入時間。輸出該天是該年的第幾天

select datepart(dy,getdate())

--3.求出隨機輸出字元『a-z

select char(97+abs(checksum(newid()))%26)

select char(97+rand()*26)

sqlserver中日期函式

1.當前系統日期 時間 select getdate 2.dateadd 在向指定日期加上一段時間的基礎上,返回新的 datetime 值 例如 向日期加上2天 select dateadd day,2,2011 10 15 返回 2011 10 17 00 00 00.000 3.datediff...

SQL Server中日期問題的解決

在ms sql server 中,只有datetime型,日期和時間是合在一起的,比如2004 12 19 23 12 20。有的時候,在sql語句中,只要求取日期的話,的確比較麻煩,但也有以下的方法,歸納一下,比如要求取得2004 12 19日的記錄,可以這樣 a where datediff d...

Sql 中日期函式的比較

select convert varchar 8 getdate 112 大概欄位有postdate,enddate標誌註冊時間和到期時間!上午把到期時間,剩餘天數及24小時登入和和註冊的使用者多完成了,用了乙個函式dateditt 檢測24小時登入和註冊使用者的sql語句 case login s...