小编Eri*_*ric的帖子

MSSQL针对一天或一天​​范围的日期范围的最佳查询

我想找出针对具有日期(没有时间)的日期时间记录集的查询的"最佳实践"方法.

我使用几个查询根据日期范围从使用日期时间数据类型的记录集返回记录,这意味着需要使用两者之间的范围来检查每个记录.

查询示例如下:

Select * 
FROM Usages 
where CreationDateTime between '1/1/2012' AND '1/2/2012 11:59:59'
Run Code Online (Sandbox Code Playgroud)

我知道使用BETWEEN资源是一种资源,并且检查日期的日期时间数据类型总是非常耗费资源,但我想听听其他人在这种情况下使用(或将使用)的内容.

我是否会将日期时间记录转换为日期的任何类型的性能提升:

Select * 
FROM Usages 
where CONVERT(DATE,CreationDateTime) between '1/1/2012' AND '1/2/2012'
Run Code Online (Sandbox Code Playgroud)

或者可能做一个少于/更大的检查呢?

Select * 
FROM Usages 
where (CreationDateTime > '1/1/2012') 
    AND (CreationDateTime < '1/2/2012 11:59:59')
Run Code Online (Sandbox Code Playgroud)

sql sql-server datetime range

7
推荐指数
1
解决办法
4万
查看次数

标签 统计

datetime ×1

range ×1

sql ×1

sql-server ×1