我试图比较两个日期“2017 年 5 月 1 日星期六”和“2017-07-23”,但第一个日期存储为字符串 [关闭]
Posted
技术标签:
【中文标题】我试图比较两个日期“2017 年 5 月 1 日星期六”和“2017-07-23”,但第一个日期存储为字符串 [关闭]【英文标题】:im trying to compare between two dates 'Saturday, May 1, 2017' and '2017-07-23' but the first one is stored as string [closed] 【发布时间】:2021-01-04 09:40:48 【问题描述】:(Date_time = '2017 年 5 月 1 日,星期六')
从 Date_time
【问题讨论】:
我需要添加 3 和 4,但是我不能使用 '+'。 不能使用 str_to_date - 我不同意。 我知道我不能我不知道如何比较它们! 我会使用 str_to_date() (假设我无法以更合适的方式提供 date_time 开始) 我试过 str_to_date('Date_time',"%Y.%m.%d") 它给了我空值 【参考方案1】: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)
假设月份没有缩写并且所有日期时间都采用相同的格式 ,2 应包含在您的问题中的事实。 https://dev.mysql.com/doc/refman/8.0/en/date-and-time-functions.html#function_date-format
【讨论】:
@AboodJayyousi 。 . .那么你应该接受答案。以上是关于我试图比较两个日期“2017 年 5 月 1 日星期六”和“2017-07-23”,但第一个日期存储为字符串 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章