在以下查询中,返回的日期为2019-07-12 14:12:58.253
SELECT MAX(fileDate) AS maxdate FROM filetable
此查询返回以下值2019-07-11 23:46:20.317
SELECT MAX(fileDate) AS maxdate FROM filetable WHERE fileDate BETWEEN '2019-01-18' AND '2019-07-12'
我尝试使用> =和<=代替BETWEEN来获得相同的结果。
为什么会这样?
答案 0 :(得分:1)
'2019-07-12'
的 datetime
将隐式转换为datetime
2019-07-12T00:00:00.000
。对于带有WHERE
子句fileDate BETWEEN '2019-01-18' AND '2019-07-12'
的查询,这意味着2019-07-12T14:12:58.253
之类的值超出了范围,因为它比2019-07-12T00:00:00.000
大。
常见的方法是使用>=
和<
,其中<
的值是您需要的日期之后的日期。因此,您将得到以下结果:
SELECT MAX(fileDate) AS maxdate
FROM filetable
WHERE fileDate >= '2019-01-18'
AND fileDate < '2019-07-13';