Sql Server時間函式

2022-02-15 03:03:52 字數 3004 閱讀 8569

函式

定義確定性

備註dateadd(datepart ,

number, date )

返回給指定日期加上乙個時間間隔後的新 datetime 值。

確定datediff(datepart,

startdate,enddate)

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

確定enddate 減去 startdate。如果 startdate 晚於 enddate,則返回負值。

datename(datepart,date)

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

非確定性函式

datepart(datepart,date )

返回表示指定日期的指定日期部分的整數。

除了用作 datepart (dw, date) 外都具有確定性。dw 是 weekday 的日期部分,取決於設定每週的第一天的 set datefirst 所設定的值。

getdate()

以 datetime 值的 sql server 2005 標準內部格式返回當前系統日期和時間。

非確定性函式。

getutcdate()

返回表示當前的 utc 時間(通用協調時間或格林尼治標準時間)的 datetime 值。當前的 utc 時間得自當前的本地時間和執行 microsoft sql server 例項的計算機作業系統中的時區設定。

非確定性函式

year(date)

返回表示指定日期的年份的整數

確定此函式等價於 datepart(yy, date)

month(date)

返回表示指定日期的「月」部分的整數

確定month 等價於 datepart(mm, date)

day(date)

返回乙個整數,表示指定日期的天 datepart 部分

確定 此函式等價於 datepart(dd, date)

非確定函式,引用該列的檢視和表示式無法進行索引

datepart部分

含義日期部分縮寫年

year

yy,yyyy

季度quarter

qq,q

月month

mm,m

日day

dd,d

時hourhh分

minute

mi,n

秒second

ss,s

微秒millisecond

ms一年中第幾天

dayofyear

dy,y

一年第幾周

week

wk,ww

一周第幾天,以週日開始

weekday

dw1.乙個月第一天的

select dateadd(mm, datediff(mm,0,getdate()), 0)

2.本週的星期一

select dateadd(wk, datediff(wk,0,getdate()), 0)

3.一年的第一天

select dateadd(yy, datediff(yy,0,getdate()), 0)

4.季度的第一天

select dateadd(qq, datediff(qq,0,getdate()), 0)

5.當天的半夜

select dateadd(dd, datediff(dd,0,getdate()), 0)

6.上個月的最後一天

select dateadd(ms,-3,dateadd(mm, datediff(mm,0,getdate()), 0))

7.去年的最後一天

select dateadd(ms,-3,dateadd(yy, datediff(yy,0,getdate()), 0))

8.本月的最後一天

select dateadd(ms,-3,dateadd(mm, datediff(m,0,getdate())+1, 0))

9.本年的最後一天

select dateadd(ms,-3,dateadd(yy, datediff(yy,0,getdate())+1, 0))

10.本月的第乙個星期一

select dateadd(wk, datediff(wk,0,dateadd(dd,6-datepart(day,getdate()),getdate())), 0) 

1.乙個月第一天的         select dateadd(mm, datediff(mm,0,getdate()), 0)

2.本週的星期一            select dateadd(wk, datediff(wk,0,getdate()), 0)

3.一年的第一天            select dateadd(yy, datediff(yy,0,getdate()), 0)

4.季度的第一天            select dateadd(qq, datediff(qq,0,getdate()), 0)

5.當天的半夜               select dateadd(dd, datediff(dd,0,getdate()), 0)

6.上個月的最後一天       select dateadd(ms,-3,dateadd(mm, datediff(mm,0,getdate()), 0))

7.去年的最後一天          select dateadd(ms,-3,dateadd(yy, datediff(yy,0,getdate()), 0))

8.本月的最後一天          select dateadd(ms,-3,dateadd(mm, datediff(m,0,getdate())+1, 0))

9.本年的最後一天          select dateadd(ms,-3,dateadd(yy, datediff(yy,0,getdate())+1, 0))

10.本月的第乙個星期一  select dateadd(wk, datediff(wk,0,dateadd(dd,6-datepart(day,getdate()),getdate())), 0) 

SqlServer 時間函式

1 getdate 取得當前日期時間 2 dateadd 標記,增量,時間 例 select dateadd year,2,getdate 當前時間增加兩年 select dateadd day,2,getdate 當前時間增加兩天 3 datepart 標記,時間 例 select datepar...

SQLSERVER時間函式

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

SQL SERVER時間函式

本篇文章還是學習 程式設計師的sql金典 內容的記錄,此次將講解的是sql server的時間函式。1 日期 表示 年 月 日 資訊的資料型別,其精度精確到 日 其中包含了年 月 日三個資訊,比如 2008 08 08 而無時間點的概念。在資料庫中,一般用date來表示日期型別。表示 小時 分 秒 ...