尝试在 SQL 中直接将整数 (INT) 列转换为 VARCHAR 数据类型可能会失败,具体取决于特定的数据库系统。 许多 SQL 方言不直接支持 VARCHAR 作为此类转换的目标类型。
尝试失败的示例:
<code class="language-sql">SELECT CAST(id AS VARCHAR(50)) AS col1 FROM t9; SELECT CONVERT(VARCHAR(50), id) AS col1 FROM t9;</code>
解决方案涉及将 INT 转换为 CHAR 数据类型而不是 VARCHAR。 这种方法通常在各种 SQL 数据库之间更兼容。
更正查询:
<code class="language-sql">SELECT CAST(id AS CHAR(50)) AS col1 FROM t9; SELECT CONVERT(id, CHAR(50)) AS col1 FROM t9;</code>
请注意,原始示例中的 CONVERT
函数语法也略有不正确。 正确的语法是:
<code class="language-sql">CONVERT(expr, type)</code>
或
<code class="language-sql">CONVERT(expr USING transcoding_name)</code>
其中 expr
表示要转换的列或值,type
指定目标数据类型。 USING transcoding_name
变体用于字符集转换。
以上是如何在 SQL 中正确地将 INT 转换为字符串?的详细内容。更多信息请关注PHP中文网其他相关文章!