我正在尝试将字符串转换为中的日期 mysql
. 尽管给出了正确的字符串和格式说明符, mysql
是给予 NULL
输出警告信息为 Incorrect datetime value: 'XXXXX' for function str_to_date
尽管它适用于完整的日期字符串。
mysql日志
mysql> SELECT STR_TO_DATE('2018/06', '%Y/%m');
+---------------------------------+
| STR_TO_DATE('2018/06', '%Y/%m') |
+---------------------------------+
| NULL |
+---------------------------------+
1 row in set, 1 warning (0.00 sec)
mysql> SELECT STR_TO_DATE('2018/06/01', '%Y/%m/%d'); +---------------------------------------+
| STR_TO_DATE('2018/06/01', '%Y/%m/%d') |
+---------------------------------------+
| 2018-06-01 |
+---------------------------------------+
1 row in set (0.00 sec)
调试信息
mysql版本- 5.7.21 MySQL Community Server (GPL)
```
mysql> show warnings;
+---------+------+--------------------------------------------------------------+
| Level | Code | Message |
+---------+------+--------------------------------------------------------------+
| Warning | 1411 | Incorrect datetime value: '2018/06' for function str_to_date |
+---------+------+--------------------------------------------------------------+
1 row in set (0.00 sec)
要求
我想从上面的日期字符串分析月份和年份。
3条答案
按热度按时间chhqkbe11#
如果您的日期字符串始终为'yyyy/mm'格式
在mysql中可以使用substring或substring\u index函数,而不用date函数。
或
qeeaahzv2#
为了满足我的需求,我使用了以下解决方法-
mxg2im7a3#
您可以在mysql中使用日期\格式函数
注意:日期字符串应该是任何有效的mysql日期格式(年-月-日)