首页 > 代码库 > [转]SQL操作日期

[转]SQL操作日期

--显示本月第一天  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‘)