SQLServer 日期函數

 Sqlserver元年函數

SELECT CAST(0 AS DATETIME)   --1900-01-01 00:00:00.000orm

日期轉化爲自定義格式:server

Select dbo.FormatDate(getdate()-2,'yyyymmddHHnnss') --20201027132733字符串

經常使用日期格式轉化get

Select replace(replace(replace(CONVERT(varchar, getdate(), 120 ),'-',''),' ',''),':','')  --20201027145442io

Select CONVERT(varchar(12) , getdate(), 111 )  --2020/10/27table

Select CONVERT(varchar(12) , getdate(), 112 )  --20201027date

Select CONVERT(varchar(12) , getdate(), 108 )  --14:57:33select

字符串轉化爲日期
CONVERT(datetime,'20201023') im

獲取本週週一

Select dbo.FormatDate(DATEADD(WEEK, DATEDIFF(WEEK, 0, CONVERT(DATETIME, GETDATE(), 120) - 1), 0),'yyyymmdd');  --20201026

Select   DATEADD(wk,DATEDIFF(wk,0,getdate()),0)  --2020-10-26 00:00:00.000

獲取本週週日

Select   dateadd(wk,datediff(wk,0,getdate()),6)  --2020-11-01 00:00:00.000

獲取本年第幾周

Select 本年第多少周='wk'+datename(week,getdate())

本月第一天

SELECT DATEADD(mm,DATEDIFF(mm,0,GETDATE()),0); - 2020-10-01 00:00:00.000

今天距離元年的月份,而後用元年 + 這個相距月份,獲得的日期,就是本月的第一天

本週星期一

SELECT DATEADD(wk, DATEDIFF(wk,0,GETDATE()),0);

系統函數:

系統函數
函數 參數/功能
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的設定值:

參數 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

 

今天的全部數據:select * from 表名 where DateDiff(dd,datetime類型字段,getdate())=0

昨天的全部數據:select * from 表名 where DateDiff(dd,datetime類型字段,getdate())=1

7天內的全部數據:select * from 表名 where DateDiff(dd,datetime類型字段,getdate())<=7

30天內的全部數據:select * from 表名 where DateDiff(dd,datetime類型字段,getdate())<=30

本月的全部數據:select * from 表名 where DateDiff(mm,datetime類型字段,getdate())=0

本年的全部數據:select * from 表名 where DateDiff(yy,datetime類型字段,getdate())=0

相關文章
相關標籤/搜索