sql日期操作

CONVERT(varchar(10),getDate(),120) 



求得到"昨天,今天"日期函数的SQL 


所属分类:MS-SQL Server 基础类 

---------------------------------------------------------------------- 

Convert(Datetime,GetDate(),2) 

GetDate()得到今天日期2007-03-26 16:14:12.187 

1.现在我需要得到只是日期部分,时间部分不要,SQL怎么写? 

2.求以下日期SQL: 

昨天  

明天 

最近七天 

随后七天 

上周 

本周 

下周 

上月 

本月 

下月 

请高手帮忙。谢谢 

---------------------------------------------------------------------- 

1.现在我需要得到只是日期部分,时间部分不要,SQL怎么写? 

select convert(varchar(10),getdate(),120) 

-------------------------------------------------------- 

--1. 

Select Convert(Varchar(10), GetDate(), 120) 

Select Convert(Varchar(10), GetDate(), 121) 

-------------------------------------------------------- 

2.求以下日期SQL: 

昨天  

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 tb where 时间字段 <= convert(varchar(10),getdate() + 7,120) and 时间字段 >= 时间字段 

-------------------------------------------------------- 

convert和dateadd函数结合使用就可以了。 

-------------------------------------------------------- 

用datediff(day,时间列,getdate()) 

-------------------------------------------------------- 

上月 

select * from tb where month(时间字段) = month(getdate()) - 1 

本月 

select * from tb where month(时间字段) = month(getdate()) 

下月 

select * from tb where month(时间字段) = month(getdate()) + 1 

-------------------------------------------------------- 

--2 

--如果是在表中查詢 

--昨天  

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 TableName Where DateDiff(mm, DateTimCol, 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 

-------------------------------------------------------- 

1.现在我需要得到只是日期部分,时间部分不要,SQL怎么写? 

select convert(varchar(10),getdate(),120) 

2.求以下日期SQL: 

昨天  

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 tb where 时间字段 <= convert(varchar(10),getdate() + 7,120) and 时间字段 >= 时间字段 

上月 

select * from tb where month(时间字段) = month(getdate()) - 1 

本月 

select * from tb where month(时间字段) = month(getdate()) 

下月 

select * from tb where month(时间字段) = month(getdate()) + 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 


-------------------------------------------------------- 

昨天:dateadd(day,-1,getdate()) 

明天:dateadd(day,1,getdate()) 

上月:month(dateadd(month, -1, getdate())) 

本月:month(getdate()) 

下月:month(dateadd(month, 1, getdate()))

 

posted @ 2013-04-08 11:52  717806198  阅读(225)  评论(0编辑  收藏  举报