我觉得这应该很简单,但我不知道我做错了什么;
我的查询如下所示:
UPDATE table_name SET varchar_column = CAST(int_column AS VARCHAR(255)) WHERE ...
但我不断收到错误消息,提示存在语法错误;我也尝试使用 CONVERT(int_column,VARCHAR(255))
但同样的事情发生了?
有人知道为什么吗?谢谢!
最佳答案
CAST()
不接受 VARCHAR(n)
作为目标类型,如 the documentation 中所述。 。您可以使用 CHAR(n)
(或使用 NCHAR(n)
表示国家字符集):
UPDATE table_name SET varchar_column = CAST(int_column AS CHAR(255)) WHERE ...
注意:字符串的长度是可选的(它实际上只是为了定义目标字符串的最大长度)。
关于MySQL 使用 CAST/CONVERT 更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59179930/