我的 mysql DB 表 BLAH 中有一个 json 类型的字段 LOREM。
LOREM 有一个 createdOn 属性,它是一个格式如下的日期:(2020-03-05T04:30:00.000+0000
这是通过运行命令检索到的值:
SELECT LOREM ->>'$.createdOn' FROM BLAH;
)
我正在尝试为 created on 创建一个虚拟生成的列,以便查询变得更容易一些。创建表时,我尝试将其放入 ddl 中:
CREATED_ON timestamp(3) GENERATED ALWAYS AS (CAST(LOREM ->> '$.createdOn' AS DATETIME)) VIRTUAL,
但是在插入条目时出现错误:
1292 截断不正确的日期时间值:'2020-03-05T04:30:00.000+0000'
我尝试将列时间戳精度从 3 更改为 6,但这没有用。我也试过
CREATED_ON timestamp(3) GENERATED ALWAYS AS (TIMESTAMP(CAST(LOREM ->> '$.createdOn' AS DATETIME))) VIRTUAL,
,但得到了同样的错误。
知道为什么会发生这种情况以及我应该如何解决它?