首页 > 解决方案 > 我试图比较两个日期“2017 年 5 月 1 日星期六”和“2017-07-23”,但第一个日期存储为字符串

问题描述

(Date_time = '2017 年 5 月 1 日,星期六')

从 Date_time < '2017-07-23' 的日期中选择 Date_time

标签: mysqlsqldate

解决方案


set @d ='Saturday, May 1, 2017';

select case
            when str_to_date(@d,'%W, %M %d, %Y') < '2017-07-23' then true else false end testit;

+--------+
| testit |
+--------+
|      1 |
+--------+
1 row in set (0.001 sec)

假设月份没有缩写并且所有 date_times 都采用相同的格式,2 事实应该包含在您的问题中。 https://dev.mysql.com/doc/refman/8.0/en/date-and-time-functions.html#function_date-format


推荐阅读