请问对时间范围(如上个月,近一个月)进行判断的SQL语句怎么写?谢谢!

Namo 2003-09-08 10:05:29
有一个下拉菜单进行时间范围选择,其HTML代码如下:
<select name="DateTimeArea">
<option value='1'>这个月</option>
<option value='2'>上个月</option>
<option value='3'>近一个月</option>
</select>
数据库(SQL Server 2000)中相应的字段名为"SendDateTime"(类型为datetime),我想对数据库进行操作,选出以上时间范围的记录,请问SQL语句应该怎么写?
...全文
106 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
zjcxc 元老 2003-09-09
  • 打赏
  • 举报
回复
这个月
select * from 表 where datediff(month,SendDateTime,getdate())=0

上个月
select * from 表 where datediff(month,SendDateTime,getdate())=1

近一个月
select * from 表 where abs(datediff(month,SendDateTime,getdate()))=1
pengdali 2003-09-09
  • 打赏
  • 举报
回复
select datediff(day,'2001-1-1','2002-1-1') 天
select datediff(month'2001-1-1','2002-1-1') 月
select datediff(year,'2001-1-1','2002-1-1') 年
CrazyFor 2003-09-09
  • 打赏
  • 举报
回复
Datediff得到时间差,
sysmaster 2003-09-09
  • 打赏
  • 举报
回复
哦,刚才漏了一个条件:

SELECT * FROM orders WHERE orderdate>=datediff(dd, 30, getdate()) and orderdate<=getdate()

or


SELECT * FROM orders WHERE orderdate>=dateadd(mm, -1, getdate()) and orderdate<=getdate()

(下一个好一点,在northwind 中通过)
sysmaster 2003-09-09
  • 打赏
  • 举报
回复
SELECT * FROM orders WHERE orderdate>=DATEDIFF(dd, 30, getdate())
dafu71 2003-09-09
  • 打赏
  • 举报
回复
这个月:
SELECT * FROM YourTable WHERE DATEDIFF(mm, SendDateTime, getdate()) = 0

or

SELECT * FROM YourTable WHERE year(SendDateTime)=year(getdate()) and month(SendDateTime)=month(getdate())

上个月:
SELECT * FROM YourTable WHERE DATEDIFF(mm, SendDateTime, getdate()) = 1

近一个月:
SELECT * FROM YourTable WHERE DATEDIFF(dd, SendDateTime, getdate()) <= 30
txlicenhe 2003-09-09
  • 打赏
  • 举报
回复
这个月:
Datediff(mm,SendDateTime,getdate()) = 0

上个月:
Datediff(mm,SendDateTime,getdate()) = 1

近一个月:
SendDateTime >= dateadd(month,-1,getdate())
zarge 2003-09-08
  • 打赏
  • 举报
回复
这个月:
SELECT * FROM YourTable WHERE DATEDIFF(MONTH, SendDateTime, getdate()) = 0

上个月:
SELECT * FROM YourTable WHERE DATEDIFF(MONTH, SendDateTime, getdate()) = 1

近一个月:
SELECT * FROM YourTable WHERE DATEDIFF(DAY, SendDateTime, getdate()) <= 30

34,874

社区成员

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

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