SQLServer常用的日期和時間函式梳理

2021-10-21 15:36:58 字數 2369 閱讀 1761

今天給大家分享一下sqlserver常用的日期和時間函式知識筆記,希望對大家能有所幫助!

作用:返回給指定日期加乙個時間間隔後新的datetime值

引數說明:

datepart:指定為日期的哪部分增加數值。

number:指定要增加的數值。如果是非整數將會捨去小數部分。負數表示減去相應的時間間隔。

date:表示要處理的日期。

用法:-- 在指定日期上加三個月

select dateadd(mm,3,'2020-12-30');  

-- 指定日期減一天  

select dateadd(day,-1,'2020-12-30');  

作用:指定兩個時間相差的時間數。比如天、小時、分鐘等等。

引數說明:

datepart:指定返回的日期時間維度(天、小時、分鐘)。

startdate:可以理解被減數。

enddate:可以理解減數。如果startdate大於enddate返回負值。

用法:select datediff(day,'2021-02-05','2021-02-09') as diffdate --返回 4天

作用:返回指定日期的指定部分的字串。

引數說明:

datepart:指定返回的日期時間維度(天、小時、分鐘)。

date:日期表示式

用法:datename(quarter,getdate()) as '第幾季度'

datename(week,getdate()) as '一年中的第幾周'

datename(dayofyear,getdate()) as '一年中的第幾天'

datename(year,getdate()) as '年'

datename(month,getdate()) as '月'

datename(day,getdate()) as '日'

datename(hour,getdate()) as '時'

datename(minute,getdate()) as '分'

datename(second,getdate()) as '秒'

返回指定日期中指定部分的整數。用法和datename相似,返回值為整數。比如:

select datepart(weekday,'20210209') --返回值為2

select datename(weekday,'20210209') --返回值為星期二

作用:返回指定日期所在 日/月/年的部分。可以用datepart替換。

用法:select day('2021-02-09') --返回 9

select month('2021-02-09') --返回 2

select year('2021-02-09') --返回 2021

作用:該函式是在sqlserver 2012中引入的。eomonth函式用來返回指定日期之前或之後某個月的最後一天的日期。

語法結構:=eomonth(開始日期,指定起始日期前後的月份)

用法;declare @date datetime = '2021-02-09';  

select eomonth ( @date,7) as result;  --加七個月的月末日期 2021-09-30

select eomonth ( @date,-2) as result;  -- 減兩個月的月末日期 2020-12-31

作用:根據輸入的年、月、日引數生成乙個日期值,並返回。

格式:datefromparts(year,month,day)

引數說明:

year:輸入年份的整數值

month:輸入1~12之間的月份數

day:輸入年月所對應的day整數值

注意:如果上面三個引數,任意乙個引數輸入null,則返回null。

用法:select datefromparts (2020,2,09) as [生成日期資料];  --2020-02-09

這個太常見了,就是獲取系統當前時間。

select getdate() --返回結果 2021-02-09 08:28:11.307

返回當前的utc時間。國內使用減八小時。

select getutcdate() --返回結果 2021-02-09 00:29:21.710

it技術分享社群

個人部落格**:

文章推薦程式設計師效率:畫流程圖常用的工具

遠端辦公:常用的遠端協助軟體,你都知道嗎?

硬體:斷路器、接觸器、繼電器基礎知識

Sql Server 常用日期格式

進來因為開發原因,經常需要使用日期方面的比較和操作,整理了一下這方面的資料,供大家共享 sql server中文版的預設的日期欄位datetime格式是yyyy mm dd thh mm ss.mmm 例如 select getdate 2004 09 12 11 06 08.177 整理了一下sq...

SQL SERVER常用日期函式

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,getdat...

SQL SERVER常用日期函式

0.獲取乙個隨機的不重複的bigint數。select convert char 6 getdate 12 right 10000000000 convert bigint,abs checksum newid 10 as id 1.乙個月第一天的 select dateadd mm,datedif...