日期时间上的SQL(大于等于)和(小于等于)
好吧,这里有个超级愚蠢的SQL问题 这是我的Where声明:日期时间上的SQL(大于等于)和(小于等于),sql,Sql,好吧,这里有个超级愚蠢的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:
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)
其中OM_ORDER_DATE>=CONVERT(datetime,'24/5/2020',104)和OM_ORDER_DATE这是因为您有一个时间组件。一种方法是:
WHERE OM_ORDER_DATE >= '2020-05-24' AND
OM_ORDER_DATE < DATEADD(DAY, 1, '2020-05-24')
这也是索引安全的——列上的函数也是索引兼容的极少数情况之一。第二个正是我需要的:)谢谢!您使用的是哪种DBMS产品?(您的代码是非标准SQL)
WHERE CONVERT(DATE, OM_ORDER_DATE) = '2020-05-24'