下午好,我已经在互联网上搜索了几个小时关于这个错误信息,我在MariaDB中收到,还没有找到答案。我试图添加另一个日期到一个varchar(255)列,它不断返回Truncated incorrect DOUBLE value: '2022-10-14'
我一直在使用的sql查询是UPDATE communities SET lastvisited = '2022-10-14' + lastvisited WHERE id = 26;
个
这是我正在做的一个非常简单的查询,我没有使用AND
或ON
,所以非常困惑为什么它一直返回该消息。谢谢
1条答案
按热度按时间bqf10yzr1#
+
是一个算术运算符。这意味着,算术运算的所有部分都将在执行运算之前转换为int或double:如果指定字符串,它应该可以转换为双精度或整数-如果有特殊字符,它将被截断,并将引发警告:
“2022-10-14”是一个字符串,它不是一个算术运算,结果为2022 - 10 - 14 = 1998。因此,将“2022-10-14”转换为数字将始终得到2022,因为数字中的-是无效的:
这就是对警告的解释。
我没有水晶球,所以我不知道(老实说“不明白”)更新后你期望的值是“2022-10-142022-10-11”吗?在这种情况下使用concat()函数。如果要执行类似2022 - 10 - 14 + 2022 - 10 - 11的算术运算,请使用YEAR、MONTH和DAY函数。如果要添加日期,请使用DATE_ADD。