sql(大于等于)和(小于等于)on datetime

wwodge7n  于 2021-07-26  发布在  Java
关注(0)|答案(1)|浏览(455)

好吧,这里有一个超级愚蠢的sql问题,
这是我的where语句:

WHERE OM_ORDER_DATE >= CONVERT(datetime,'24/5/2020',104)

查询结果:

OM_ROWID    OM_ORDER_DATE              
1           2020-05-24 01:19:44.360     
2           2020-05-26 20:29:47.303   
3           2020-05-27 20:36:39.707  
4           2020-06-29 00:00:00.000

现在如果我把查询改为

WHERE OM_ORDER_DATE >= CONVERT(datetime,'24/5/2020',104) AND OM_ORDER_DATE <= CONVERT(datetime,'24/5/2020',104)

我没有得到任何结果,任何帮助都是感激的

qzlgjiam

qzlgjiam1#

这是因为你有一个时间成分。一种方法是:

WHERE OM_ORDER_DATE >= '2020-05-24' AND
      OM_ORDER_DATE < DATEADD(DAY, 1, '2020-05-24')

或者更简单地说:

WHERE CONVERT(DATE, OM_ORDER_DATE) = '2020-05-24'

这也是索引安全的——列上的函数也是索引兼容的极少数情况之一。

相关问题