gpt4 book ai didi

mysql - INSERT 语句中 CAST() 的奇怪行为

转载 作者:行者123 更新时间:2023-11-30 21:51:17 26 4
gpt4 key购买 nike

我想将一堆像 '2015-01-08T00:00:00+00:00' 这样的 varchar 迁移到另一个使用 datetime 的表。

在 select 语句中使用 CAST() 函数时,它似乎工作得很好:

SELECT CAST(field_value AS datetime) FROM table

我检索 2015-01-08 00:00:00;

但是在尝试执行 INSERT 语句时出现此错误:

Error Code: 1292. Truncated incorrect datetime value: '2015-01-08T00:00:00+00:00'

似乎转换函数不适用于插入语句。我正在使用的插入语句的类型是:

  INSERT INTO new_table
SELECT t.x, t2.x, CAST(t2.field_value AS datetime), t.y
FROM table t
LEFT JOIN table2 t2
ON t2.id = t.t2_id
WHERE t2.field_value !='';

编辑:

link to sqlfiddle that reproduces the issue

fiddle 中的 SELECT 语句给出了与本地(工作台和命令行)不同的结果。

尝试使用 CONVERT() 我遇到了同样的问题

如何将日期字符串正确插入到 new_table 表中?

最佳答案

由于严格模式:

mysql error when using cast in update statement

仍然不明白为什么我没有在 SELECT 语句中收到任何警告。

关于mysql - INSERT 语句中 CAST() 的奇怪行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47164629/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com