gpt4 book ai didi

php - 日期搜索 SQL 查询

转载 作者:行者123 更新时间:2023-11-30 23:51:32 27 4
gpt4 key购买 nike

我将时间戳存储在 mysql 数据库中的 (INT) 列中,我想搜索日期之间的行。任何人都可以帮助查找两个日期之间的行的 Sql 查询应该是什么?

日期是这样输入的

FROM DATE = 15-10-2011    

END DATE = 01-11-2011

最佳答案

这取决于您使用什么算法将日期字符串转换为 int 值。

如果算法是自动的,例如:如果一天(比如 15-10-2011)被转换为 n(比如 5037),那么第二天 (16-10-2011) 总是转换为 n+1(因此在本例中为 5038。)

那么你可以使用:

WHERE IntField BETWEEN MySpecialConvertDateToIntFunction('15-10-2011') 
AND MySpecialConvertDateToIntFunction('01-11-2011')

如果您的字段将不同的时间戳存储为不同的整数(并且转换是单调的),您可以将上面的代码稍微更改为:

WHERE IntField >= MySpecial...Function('15-10-2011') 
AND IntField < MySpecial...Function('02-11-2011') --- notice the date+1

但是通常最好使用 MySQL DATE 类型的字段来存储日期。除非您想存储 1000 之前或 9999 之后的日期。

如果你想存储时间戳,还有一个TIMESTAMP类型。阅读
<强> MySQL docs: DATETIME, DATE, and TIMESTAMP Types

关于php - 日期搜索 SQL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7622148/

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