关于时间范围的sql语句 要显示最近一个月的时间范围的数据,这个时间范围的搜索条件用sql语句怎么写? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 dt是你的日期字段,先了解下DATEDIFF函数 dt是你的日期字段,先了解下DATEDIFF函数 select convert(varchar(10),DATEADD(d,-number,getdate()),120)dt from master..spt_values where type='p' and number<31 and DATEADD(d,-number,getdate())>CONVERT(varchar(10),dateadd(m,-1,getdate()),101)order by 1/*dt----------2011-08-232011-08-242011-08-252011-08-262011-08-272011-08-282011-08-292011-08-302011-08-312011-09-012011-09-022011-09-032011-09-042011-09-052011-09-062011-09-072011-09-082011-09-092011-09-102011-09-112011-09-122011-09-132011-09-142011-09-152011-09-162011-09-172011-09-182011-09-192011-09-202011-09-212011-09-22(31 行受影响)*/ 就是这样的 getdate()指的是今天 DD代表天 DATEDIFF是天数的差值 select convert(varchar(10),DATEADD(d,number,getdate()),120)dt from master..spt_values where type='p' and number<31 and DATEADD(d,number,getdate())<CONVERT(varchar(10),dateadd(m,1,getdate()),101)order by 1/*dt----------2011-09-222011-09-232011-09-242011-09-252011-09-262011-09-272011-09-282011-09-292011-09-302011-10-012011-10-022011-10-032011-10-042011-10-052011-10-062011-10-072011-10-082011-10-092011-10-102011-10-112011-10-122011-10-132011-10-142011-10-152011-10-162011-10-172011-10-182011-10-192011-10-202011-10-21(30 行受影响)*/ 时间字段OperateTime应该放在这句sql里面的哪里? select * from tablename where abs(datediff(mm,date,getdate()))<=1 select * from tablename where datediff(mm,date,getdate())<=1--tablename是表名--date是你的时间字段--getdate()是系统自带函数,取到你执行语句的时间 sql 条件有错误吗(急)!!! 请教,临时表 查询,如何实现! sql server 2000运行太慢!!!!!!! 这种行转列查询可以实现么? 马上给分之CSDN之简单到家----->要SQL该怎么办??? 怎样让SQL SERVER 2000在同一个表中同时支持简繁体? 如何使用.TAB文件建库? 不是高手勿进,存储过程问题 表的设计 关于sqlload的问题!!! 如何用datediff求出从今天开始往后最近一个月的数据 如何嵌套一个记录两个字段的判断
from master..spt_values
where type='p' and number<31 and DATEADD(d,-number,getdate())>CONVERT(varchar(10),dateadd(m,-1,getdate()),101)
order by 1
/*
dt
----------
2011-08-23
2011-08-24
2011-08-25
2011-08-26
2011-08-27
2011-08-28
2011-08-29
2011-08-30
2011-08-31
2011-09-01
2011-09-02
2011-09-03
2011-09-04
2011-09-05
2011-09-06
2011-09-07
2011-09-08
2011-09-09
2011-09-10
2011-09-11
2011-09-12
2011-09-13
2011-09-14
2011-09-15
2011-09-16
2011-09-17
2011-09-18
2011-09-19
2011-09-20
2011-09-21
2011-09-22(31 行受影响)
*/
from master..spt_values
where type='p' and number<31 and DATEADD(d,number,getdate())<CONVERT(varchar(10),dateadd(m,1,getdate()),101)
order by 1
/*
dt
----------
2011-09-22
2011-09-23
2011-09-24
2011-09-25
2011-09-26
2011-09-27
2011-09-28
2011-09-29
2011-09-30
2011-10-01
2011-10-02
2011-10-03
2011-10-04
2011-10-05
2011-10-06
2011-10-07
2011-10-08
2011-10-09
2011-10-10
2011-10-11
2011-10-12
2011-10-13
2011-10-14
2011-10-15
2011-10-16
2011-10-17
2011-10-18
2011-10-19
2011-10-20
2011-10-21(30 行受影响)
*/
时间字段OperateTime应该放在这句sql里面的哪里?
select * from tablename where datediff(mm,date,getdate())<=1--tablename是表名
--date是你的时间字段
--getdate()是系统自带函数,取到你执行语句的时间