如果一个字符串或数字,即使没有任何分隔符,格式为YYYYMMDDHHMMSS或YYMMDDHHMMSS在提供日期时有意义,那么MySQL将该字符串解释为有效日期。
给出了有效日期和无效日期的示例 -
mysql> Select Timestamp(20171022040536); +---------------------------+ | Timestamp(20171022040536) | +---------------------------+ | 2017-10-22 04:05:36 | +---------------------------+ 1 row in set (0.00 sec) mysql> Select Timestamp('20171022040536'); +-----------------------------+ | Timestamp('20171022040536') | +-----------------------------+ | 2017-10-22 04:05:36 | +-----------------------------+ 1 row in set (0.00 sec) mysql> Select Timestamp('171022040536'); +---------------------------+ | Timestamp('171022040536') | +---------------------------+ | 2017-10-22 04:05:36 | +---------------------------+ 1 row in set (0.00 sec)
上面的查询显示了有效字符串以及数字的示例,MySQL 可以将其解释为日期值。
mysql> Select Timestamp('20171022048536'); +-----------------------------+ | Timestamp('20171022048536') | +-----------------------------+ | NULL | +-----------------------------+ 1 row in set, 1 warning (0.00 sec)
以上查询是无效字符串的示例。 MySQL 返回 NULL,因为该字符串在一分钟内具有错误值 (85)。
mysql> Select Timestamp('20171322040536'); +-----------------------------+ | Timestamp('20171322040536') | +-----------------------------+ | NULL | +-----------------------------+ 1 row in set, 1 warning (0.00 sec)
在上面的查询中,MySQL 返回 NULL,因为字符串一个月的值 (13) 是错误的。
以上是MySQL 如何将没有分隔符的数字和字符串解释为日期?的详细内容。更多信息请关注PHP中文网其他相关文章!