--1.显示本月第一天
SELECT DATEADD(mm,DATEDIFF(mm,0,getdate()),0)
select convert(datetime,convert(varchar(8),getdate(),120)+'01',120)
--2.显示本月最后一天
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))
--3.上个月的最后一天
SELECT dateadd(ms,-3,DATEADD(mm,DATEDIFF(mm,0,getdate()),0))
--4.本月的第一个星期一
select DATEADD(wk,DATEDIFF(wk,0, dateadd(dd,6-datepart(day,getdate()),getdate())),0)
--5.本年的第一天
SELECT DATEADD(yy,DATEDIFF(yy,0,getdate()),0)
--6.本年的最后一天
SELECT dateadd(ms,-3,DATEADD(yy,DATEDIFF(yy,0,getdate())+1,0))
--7.去年的最后一天
SELECT dateadd(ms,-3,DATEADD(yy,DATEDIFF(yy,0,getdate()),0))
--8.本季度的第一天
SELECT DATEADD(qq,DATEDIFF(qq,0,getdate()),0)
--9.本周的星期一
SELECT DATEADD(wk,DATEDIFF(wk,0,getdate()),0)
--10.查询本月的记录
select * from tableName where DATEPART(mm, theDate) = DATEPART(mm, GETDATE()) and DATEPART(yy, theDate) = DATEPART(yy, GETDATE())
--theDate 为要查询的时间 '2010-01-02'
--11.查询本周的记录
select * from tableName where DATEPART(wk, theDate) = DATEPART(wk, GETDATE()) and DATEPART(yy, theDate) = DATEPART(yy, GETDATE())
--12.查询本季的记录
select * from tableName where DATEPART(qq, theDate) = DATEPART(qq, GETDATE()) and DATEPART(yy, theDate) = DATEPART(yy, GETDATE())
--13.获取当月总天数:
select DATEDIFF(dd,getdate(),DATEADD(mm, 1, getdate()))
select datediff(day,
dateadd(mm, datediff(mm,'',getdate()), ''),
dateadd(mm, datediff(mm,'',getdate()), '1900-02-01'))
--14.获取当前为星期几
DATENAME(weekday, getdate())
--15. 当前系统日期、时间
select getdate()
--16.查询系统当前年份插入的一年内的数据
select * from tablename where DatePart(yy,getdate())=DatePart(yy,getdate()) order by id desc
--17.查询某一年(如2006年)的记录数据:
select * from tablename where DatePart(yy,last_date)=2006 order by id desc
/****************************************************************************/
--昨天日期
select convert(varchar(10),getdate() - 1,120)
--明天日期
select convert(varchar(10),getdate() + 1,120)
--最近七天
select * from tb where 时间字段 >= convert(varchar(10),getdate() - 7,120)
--随后七天
select * from view_attendance where WT_Date <= convert(varchar(10),getdate() + 7,120) and WT_Date >= WT_Date
--上月
select * from tb where month(时间字段) = month(getdate()) - 1
--本月
select * from tb where month(时间字段) = month(getdate())
--下月
select * from tb where month(时间字段) = month(getdate()) + 1
--季度的第一天
SELECT DATEADD(qq, DATEDIFF(qq,0,getdate()), 0)
/****************************************************************************/
/*********************************在表中查询*******************************************/
--昨天
Select * From TableName Where DateDiff(dd, DateTimCol, GetDate()) = 1
--明天
Select * From TableName Where DateDiff(dd, GetDate(), DateTimCol) = 1
--最近七天
Select * From TableName Where DateDiff(dd, DateTimCol, GetDate()) <= 7
--随后七天
Select * From TableName Where DateDiff(dd, GetDate(), DateTimCol) <= 7
--上周
Select * From TableName Where DateDiff(wk, DateTimCol, GetDate()) = 1
--本周
Select * From TableName Where DateDiff(wk, DateTimCol, GetDate()) = 0
--下周
Select * From TableName Where DateDiff(wk, GetDate(), DateTimCol ) = 1
--上月
Select * From TableName Where DateDiff(mm, DateTimCol, GetDate()) = 1
--本月
Select * From Per_DeptInfo Where DateDiff(mm, DI_BuildDate, GetDate()) = 0
--下月
Select * From TableName Where DateDiff(mm, GetDate(), DateTimCol ) = 1
--------------------------------------------------------
--本周
select * from tb where datediff(week , 时间字段 ,getdate()) = 0
--上周
select * from tb where datediff(week , 时间字段 ,getdate()) = 1
--下周
select * from tb where datediff(week , 时间字段 ,getdate()) = -1
/**************************************************************************************/
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')
/*********************************日期格式转抽参数*******************************************/
select CONVERT(varchar, getdate(), 120 )--2009-04-02 11:33:53
select replace(replace(replace(CONVERT(varchar, getdate(), 120 ),'-',''),' ',''),':','')--20090402113403
select CONVERT(varchar(12) , getdate(), 111 )--2004/09/12
select CONVERT(varchar(12) , getdate(), 112 )--20040912
select CONVERT(varchar(12) , getdate(), 102 )--2004.09.12
select CONVERT(varchar(12) , getdate(), 101 )--09/12/2004
select CONVERT(varchar(12) , getdate(), 103 )--12/09/2004
select CONVERT(varchar(12) , getdate(), 104 )--12.09.2004
select CONVERT(varchar(12) , getdate(), 105 )--12-09-2004
select CONVERT(varchar(12) , getdate(), 106 )--12 09 2004
select CONVERT(varchar(12) , getdate(), 107 )--09 12, 2004
select CONVERT(varchar(12) , getdate(), 108 )--11:06:08
select CONVERT(varchar(12) , getdate(), 109 )--09 12 2004 1
select CONVERT(varchar(12) , getdate(), 110 )--09-12-2004
select CONVERT(varchar(12) , getdate(), 113 )--12 09 2004 1
select CONVERT(varchar(12) , getdate(), 114 )--11:06:08.177