日期查询

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

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值