SQL 查找指定天内的数据

用sql查询当天,一周,一个月的数据

select * from ShopOrder where datediff(week,ordTime,getdate()-1)=0   //查询当天日期在一周年的数据 (ordTime  为对应字段)

select * from ShopOrder where datediff(day,ordTime,getdate()-1)=0   //查询当天的所有数据 (ordTime  为对应字段)

--查询当天:
select * from info where DateDiff(dd,datetime,getdate())=0

(datetime为对应字段)

如果要查找 3 天后的数据

select * from info where DateDiff(dd,datetime,getdate())=-3 // 注意用负数

如果要查找 3天前的数据

select * from info where DateDiff(dd,datetime,getdate())=-3 // 注意用负数



--查询24小时内的:
select * from info where DateDiff(hh,datetime,getDate())<=24

--info为表名,datetime为数据库中的字段值

--查询当天:
select * from info where DateDiff(dd,datetime,getdate())=0

--查询24小时内的:
select * from info where DateDiff(hh,datetime,getDate())<=24

--info为表名,datetime为数据库中的字段值

Sql代码
--查询当天记录另类的方法
SELECT *
FROM j_GradeShop
WHERE (GAddTime BETWEEN CONVERT(datetime, LEFT(GETDATE(), 10) + ’ 00:00:00.000’)
AND CONVERT(datetime, LEFT(GETDATE(), 10) + ’ 00:00:00.000’) + 1)
ORDER BY GAddTime DESC

--查询当天记录另类的方法
SELECT *
FROM j_GradeShop
WHERE (GAddTime BETWEEN CONVERT(datetime, LEFT(GETDATE(), 10) + ’ 00:00:00.000’)
AND CONVERT(datetime, LEFT(GETDATE(), 10) + ’ 00:00:00.000’) + 1)
ORDER BY GAddTime DESC

DATEDIFF 函数:

语法:


DATEDIFF ( datepart , startdate , enddate )

备注:enddate 减去 startdate。如果 startdate 晚于 enddate,则返回负值。

如果结果超出整数值范围,则 DATEDIFF 将产生错误。对于毫秒,最大数是 24 天 20 小时 31 分钟零 23.647 秒。对于秒,最大数是 68 年。

跨分钟、秒和毫秒等边界计算的方法使得 DATEDIFF 指定的结果在所有数据类型中均一致。结果是带正负号的整数值,它等于跨第一个和第二个日期间的 datepart 边界数。例如,在 1 月 4 日(星期日)和 1 月 11 日(星期日)之间的星期数是 1。

 

猜你喜欢

转载自994582796.iteye.com/blog/1858523