gpt4 book ai didi

php - 使用 MySQL 将字符串作为日期进行操作?

转载 作者:太空宇宙 更新时间:2023-11-03 10:39:25 25 4
gpt4 key购买 nike

我正在使用一个 MySQL 表,该表的时间戳 2016-12-28T21:42:53.000-04:00 具有如下条目,以 CHAR 形式提供 field 。我需要做的任务之一是检索当前日期的所有记录。

现在我正在做的是将当前日期放入 php 变量 ($date) 中,格式与 MySQL< 中的相同表。 即 2016-12-28 并使用 LIKE 语句查找匹配它的所有记录。

例如,当我需要查找最近 10 天的所有记录时,问题就来了。

是否可以将该字段转换为有效日期,我可以将其用于更复杂的查询,例如查找最近 10 天等?

任何正确方向的提示将不胜感激,谢谢

最佳答案

您可以将其转换为日期。一种方法是:

select date(left(field, 10))

我应该补充一点,这在 where 子句中同样有效:

where date(left(field, 10)) >= date_sub(curdate(), interval 10 day)

但是。 . .在列上使用函数排除了索引的使用。在这种情况下,你有一个很好的日期格式,所以你可以这样做:

where field >= date_format(date_sub(curdate(), interval 10 day), '%Y-%m-%d')

此版本可以利用 field 上的索引。

说了这么多。 . .强烈建议使用正确的类型存储字段。

关于php - 使用 MySQL 将字符串作为日期进行操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41372613/

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