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

vAction 2007-03-26 04:08:36
Convert(Datetime,GetDate(),2)
GetDate()得到今天日期2007-03-26 16:14:12.187

1.现在我需要得到只是日期部分,时间部分不要,SQL怎么写?
2.求以下日期SQL:
昨天 
明天
最近七天
随后七天
上周
本周
下周
上月
本月
下月

请高手帮忙。谢谢
...全文
2697 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
believe209 2007-03-26
  • 打赏
  • 举报
回复
2. 参考:dawugui(潇洒老乌龟) ( ) 信誉:100 Blog 2007-3-26 16:19:08


------------------------------
虽然表面不一样,其实是一样的
具体查看 datediff() 和dateadd()
believe209 2007-03-26
  • 打赏
  • 举报
回复
1.
select convert(varchar(10),getdate(),120)
具体什么意思查一下帮助!
2.参考:
paoluo(一天到晚游泳的鱼) ( ) 信誉:100 Blog 2007-03-26 16:16:03
lin_now 2007-03-26
  • 打赏
  • 举报
回复
在水里面乌龟和鱼就是抢的快
betty0458 2007-03-26
  • 打赏
  • 举报
回复
昨天:dateadd(day,-1,getdate())
明天:dateadd(day,1,getdate())
上月:month(dateadd(month, -1, getdate()))
本月:month(getdate())
下月:month(dateadd(month, 1, getdate()))
其他同上咯
dawugui 2007-03-26
  • 打赏
  • 举报
回复
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


dawugui 2007-03-26
  • 打赏
  • 举报
回复
本周
select * from tb where datediff(week , 时间字段 ,getdate()) = 0

上周
select * from tb where datediff(week , 时间字段 ,getdate()) = 1

下周
select * from tb where datediff(week , 时间字段 ,getdate()) = -1
paoluo 2007-03-26
  • 打赏
  • 举报
回复
--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
dawugui 2007-03-26
  • 打赏
  • 举报
回复
上月
select * from tb where month(时间字段) = month(getdate()) - 1
本月
select * from tb where month(时间字段) = month(getdate())
下月
select * from tb where month(时间字段) = month(getdate()) + 1
中国风 2007-03-26
  • 打赏
  • 举报
回复
用datediff(day,时间列,getdate())
freeliu 2007-03-26
  • 打赏
  • 举报
回复
convert和dateadd函数结合使用就可以了。
dawugui 2007-03-26
  • 打赏
  • 举报
回复
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 时间字段 >= 时间字段

paoluo 2007-03-26
  • 打赏
  • 举报
回复
--1.
Select Convert(Varchar(10), GetDate(), 120)
Select Convert(Varchar(10), GetDate(), 121)
dawugui 2007-03-26
  • 打赏
  • 举报
回复
1.现在我需要得到只是日期部分,时间部分不要,SQL怎么写?
select convert(varchar(10),getdate(),120)

34,873

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧