MySQL DATE_FORMAT 从“1970-01-01T00:00:00Z”到“1970-01-01 00:00:00”

MySQL DATE_FORMAT from '1970-01-01T00:00:00Z' to '1970-01-01 00:00:00'

您好,我有一个 MySQL 查询,例如:

更新 Table_name 设置 值= DATE_FORMAT(日期,'%d-%m-%Y %H:%i:%s') 哪里 id = 3

它导致错误消息 “消息”:“数据截断:截断了不正确的日期时间值:'1970-01-01T00:00:00Z'”

有没有办法将日期转换为“1970-01-01 00:00:00”?没有 T 和 Z

此致

DATE_FORMAT 函数将 DATE、DATETIME 或 TIMESTAMP 数据类型转换为字符串表示形式。第一个参数是值,第二个参数是解释字符串的模式。

要将字符串表示形式转换为日期值,我们使用 STR_TO_DATE 函数。一个简单的例子,将包含 T 和 Z 的字符串转换为 MySQL DATE

SELECT STR_TO_DATE( '1970-01-01T00:00:00Z' , '%Y-%m-%dT%TZ')

看起来错误是从字符串到日期的隐式转换报告的,字符串值的格式无法识别。对于某些字符串格式,我们不必使用 STR_TO_DATE 函数。当字符串的格式无法被 MySQL 识别时(就像带有 T 和 Z 的字符串)。