MySQL 插入 ISO8601 日期时间格式
MySQL insert ISO8601 Datetime format
我在将 ISO8601 日期时间格式插入我的 MySQL 数据库时遇到问题。
我想将 ISO 格式(即 yyyymmddThhmmss+|-hhmm)插入我的数据库 table,DATETIME 列。
当我尝试插入时遇到问题:
Operation failed: There was an error while applying the SQL script to
the database. Executing: UPDATE db
.orders
SET
date
='20080915T155300+0500' WHERE id
='1';
ERROR 1292: 1292: Incorrect datetime value: '20080915T155300+0500' for
column 'date' at row 1 SQL Statement: UPDATE db
.orders
SET
date
='20080915T155300+0500' WHERE id
='1'
有什么方法可以将这种格式的日期时间保存到 MySQL 中吗?
MySQL 对时区有相当神秘的支持。也许这就是你想要的:
select convert_tz(str_to_date(left(val, 15), '%Y%m%dT%H%i%s'), '+00:00', insert(right(val, 5), 4, 0, ':'))
from (select '20080915T155300+0500' as val) x
我在将 ISO8601 日期时间格式插入我的 MySQL 数据库时遇到问题。
我想将 ISO 格式(即 yyyymmddThhmmss+|-hhmm)插入我的数据库 table,DATETIME 列。
当我尝试插入时遇到问题:
Operation failed: There was an error while applying the SQL script to the database. Executing: UPDATE
db
.orders
SETdate
='20080915T155300+0500' WHEREid
='1';ERROR 1292: 1292: Incorrect datetime value: '20080915T155300+0500' for column 'date' at row 1 SQL Statement: UPDATE
db
.orders
SETdate
='20080915T155300+0500' WHEREid
='1'
有什么方法可以将这种格式的日期时间保存到 MySQL 中吗?
MySQL 对时区有相当神秘的支持。也许这就是你想要的:
select convert_tz(str_to_date(left(val, 15), '%Y%m%dT%H%i%s'), '+00:00', insert(right(val, 5), 4, 0, ':'))
from (select '20080915T155300+0500' as val) x