--顯示本月第一天 SELECT DATEADD(mm,DATEDIFF(mm,0,getdate()),0) SELECT CONVERT(DATETIME,CONVERT(VARCHAR(8),GETDATE(),120)+'01',120) --顯示本月最後一天 SELECT DATEADD(DAY,-1,CONVERT(DATETIME,CONVERT(VARCHAR(8),DATEADD(MONTH,1,GETDATE()),120)+'01',120)) SELECT DATEADD(ms,-3,DATEADD(mm,DATEDIFF(m,0,GETDATE())+1,0)) --上個月的最後一天 SELECT DATEADD(ms,-3,DATEADD(mm,DATEDIFF(mm,0,GETDATE()),0)) --本月的第一個星期一 SELECT DATEADD(wk,DATEDIFF(wk,0, DATEADD(dd,6-DATEPART(DAY,GETDATE()),GETDATE())),0) --本年的第一天 SELECT DATEADD(yy,DATEDIFF(yy,0,GETDATE()),0) --本年的最後一天 SELECT DATEADD(ms,-3,DATEADD(yy,DATEDIFF(yy,0,GETDATE())+1,0)) --去年的最後一天 SELECT DATEADD(ms,-3,DATEADD(yy,DATEDIFF(yy,0,GETDATE()),0)) --本季度的第一天 SELECT DATEADD(qq,DATEDIFF(qq,0,GETDATE()),0) --本週的星期一 SELECT DATEADD(wk,DATEDIFF(wk,0,GETDATE()),0) --查詢本月的記錄 SELECT * FROM tableName WHERE DATEPART(mm, theDate) = DATEPART(mm, GETDATE()) AND DATEPART(yy, theDate) = DATEPART(yy, GETDATE()) --查詢本週的記錄 SELECT * FROM tableName WHERE DATEPART(wk, theDate) = DATEPART(wk, GETDATE()) AND DATEPART(yy, theDate) = DATEPART(yy, GETDATE()) --查詢本季的記錄 SELECT * FROM tableName WHERE DATEPART(qq, theDate) = DATEPART(qq, GETDATE()) AND DATEPART(yy, theDate) = DATEPART(yy, GETDATE()) --獲取當月總天數: SELECT DATEDIFF(dd,GETDATE(),DATEADD(mm, 1, GETDATE())) SELECT DATEDIFF(DAY,DATEADD(mm, DATEDIFF(mm,'',GETDATE()), ''),DATEADD(mm, DATEDIFF(mm,'',GETDATE()), '1900-02-01')) --獲取當前爲星期幾 SELECT DATENAME(weekday, getdate()) --dateadd 在向指定日期加上一段時間的基礎上,返回新的 datetime 值 例如:向日期加上2天 SELECT DATEADD(DAY,2,'2004-10-15') --返回:2004-10-17 00:00:00.000 DATEDIFF --返回跨兩個指定日期的日期和時間邊界數。 SELECT DATEDIFF(DAY,'2004-09-01','2004-09-18') --返回:17 datepart --返回表明指定日期的指定日期部分的整數。年爲year,月爲month,日爲day,小時hour,分爲minute,秒爲second SELECT DATEPART(month, '2004-10-15') --返回 10 datename --返回表明指定日期的指定日期部分的字符串 SELECT DATENAME(weekday, '2004-10-15') --返回:星期五 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')