gpt4 book ai didi

mysql - mysql中的日期函数结果不同为什么?

转载 作者:行者123 更新时间:2023-11-29 22:00:27 25 4
gpt4 key购买 nike

我有两个疑问。

SELECT * 
FROM table1 b
WHERE b.registerDate BETWEEN '2015-03-01' AND '2015-03-31'


SELECT * FROM table1 b
WHERE date(registerDate) between 2015-03-01 and '2015-03-31'

两个查询结果不同,为什么?

最佳答案

当您说'2015-03-01'时,它是'2015-03-01 00:00:00'

当您说date(registerDate)时,它会忽略时间部分并仅返回日期部分。

b.registerDate BETWEEN '2015-03-01' AND '2015-03-31'

表示 registerDate 的时间,介于 '2015-03-01 00:00:00''2015-03-31 00:00:00' 之间

date(registerDate) between 2015-03-01 and '2015-03-31'

表示 registerDate 不包含时间部分(即日期 00:00:00),介于 '2015-03-01 00:00:00'' 之间2015-03-31 00:00:00'

data字段与string字段进行比较是个坏主意。
您可以使用 Date 文字将字符串转换为 date

SELECT * FROM table1 b 
WHERE date(b.registerDate) BETWEEN Date'2015-03-01' AND Date'2015-03-31'

关于mysql - mysql中的日期函数结果不同为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32709654/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com