【发布时间】:2010-04-06 07:14:29
【问题描述】:
在 sql 2005 中,不是从 dateparts 年、月和日期构建查询,
有没有更简洁的方式来编写 where 子句?
【问题讨论】:
-
我想知道是否有任何答案比这更简洁。我也觉得这更具可读性。其中 (DATEPART(yy, myColum) = '2010') AND (DATEPART(mm, myColum) = '4') AND (DATEPART(dd, myColum) = '7');
-
@Chin,您的方法会阻止索引的使用,并且会导致缓慢的表扫描。我强烈建议您不要使用该方法基于日期进行搜索。如果要使用索引,则需要对范围内的日期进行“下限”,并且不对列应用任何函数。这是如何确定日期时间:stackoverflow.com/questions/85373/floor-a-date-in-sql-server
-
@KM,谢谢。我想我会问一下,看看我是否离开了基地。目前我不知道此列上有索引。不过,我会记住这一点,并按照您的建议确定我的日期。
标签: sql-server sql-server-2005