MySQL 使用 CAST/CONVERT 更新

标签 mysql sql

我觉得这应该很简单,但我不知道我做错了什么;

我的查询如下所示:

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/

相关文章:

php - 迁移 PHP 5.2 网站

MySQL-从数据库中选择两个日期之间的数据

MySQL DELETE FROM 以子查询为条件

MySQL 选择喜欢

c++ - SQLite - 如何在终端级别和 C++ 应用程序中使用它?

sql - 具有跨数据库服务器联接的SQL Server 2005脚本

c# - 如何在 C# 中创建 NVarchar(max) Sqlparameter?

c# - 使用未分配的局部变量(插入数据库)

mysql - SELECT 列表不在 GROUP BY 子句中并且包含非聚合列 .... 与 sql_mode=only_full_group_by 不兼容

mysql - 计算和限制每个字段值的行数不起作用