当日期为 MM dd 格式时获取大于日期
Get greater than date when date is in MM dd format
我想告诉你,我分析了关于堆栈溢出的相同问题,但这是一点改变。
我想要大于 date ,date 就像 "AUGUST 31","SEPTEMBER 15"。
在 sql 命令中使用这种格式是否可行。
可能如果您使用 str_to_date 并假设所有日期都在当年
例如
select str_to_date((concat(year(sysdate()),'-','August 17')),'%Y-%M %d');
+-------------------------------------------------------------------+
| str_to_date((concat(year(sysdate()),'-','August 17')),'%Y-%M %d') |
+-------------------------------------------------------------------+
| 2017-08-17 |
+-------------------------------------------------------------------+
1 row in set (0.00 sec)
MariaDB [sandbox]> select case when date(now()) > str_to_date((concat(year(sysdate()),'-','August 17')),'%Y-%M %d') then 'Now Gt in date'
-> else 'Now Lt in date'
-> end msg;
+----------------+
| msg |
+----------------+
| Now Gt in date |
+----------------+
1 row in set (0.00 sec)
我想告诉你,我分析了关于堆栈溢出的相同问题,但这是一点改变。 我想要大于 date ,date 就像 "AUGUST 31","SEPTEMBER 15"。 在 sql 命令中使用这种格式是否可行。
可能如果您使用 str_to_date 并假设所有日期都在当年 例如
select str_to_date((concat(year(sysdate()),'-','August 17')),'%Y-%M %d');
+-------------------------------------------------------------------+
| str_to_date((concat(year(sysdate()),'-','August 17')),'%Y-%M %d') |
+-------------------------------------------------------------------+
| 2017-08-17 |
+-------------------------------------------------------------------+
1 row in set (0.00 sec)
MariaDB [sandbox]> select case when date(now()) > str_to_date((concat(year(sysdate()),'-','August 17')),'%Y-%M %d') then 'Now Gt in date'
-> else 'Now Lt in date'
-> end msg;
+----------------+
| msg |
+----------------+
| Now Gt in date |
+----------------+
1 row in set (0.00 sec)