我有一个列,其中填充了对另一个应用程序有用的日期格式,但不是用于时间戳的mysql格式。下面是它看起来的样子:
2010.01.28 12:00 ("time“列)而不是mysql时间戳:2010-01-28 12:00:00 ("updatetime”列)。
我需要在两个时间段之间执行特定于日期的搜索,对于正常的mysql时间戳,我将运行以下命令:
SELECT * FROM table WHERE updatetime BETWEEN '$dateStart' and '$dateEnd'但这不适用于格式化的"time“列。我更喜欢保持列的格式,就像不同的应用程序需要日期格式一样,那么有谁知道在两个时间段之间使用2010.01.28 12:00格式进行搜索的MYSQL方法?从PHP脚本运行
发布于 2011-02-03 04:05:06
您可以在PHP或MySQL中以相同的格式格式化时间
WHERE updatetime BETWEEN
date_format('$datestart','%Y.%m.%d %H:%s')
AND date_format('$dateend','%Y.%m.%d %H:%s')发布于 2011-02-03 04:05:57
您可能想要尝试这样的操作
SELECT * FROM table WHERE STR_TO_DATE(updatetime, "%d.%m.%Y %h:%i")
BETWEEN '$dateStart' and '$dateEnd'将字符串转换为日期-如果$dateStart和$dateEnd的值已经采用了与sql日期进行比较的正确格式。
https://stackoverflow.com/questions/4879226
复制相似问题