[英]Error when trying to run join command in SQL
我正在尝试使用以下命令将SQL中的两个字段连接起来;
SELECT [NUM] & [ITEMNUM] AS LINKCODE
FROM mydatabase
当我运行它时,我得到了错误;
Msg 245, Level 16, State 1, Line 1
Conversion failed when converting the varchar value 'O00000001' to data type int.
这可能很容易,但是我对SQL还是很陌生。 任何帮助,将不胜感激 :)
谢谢。
您不能只将数字和字符串加在一起。 您必须首先将它们置于相同的数据类型上。 首先投放到varchar
SELECT cast([NUM] as varchar) + [ITEMNUM] AS LINKCODE
FROM mydatabase
如果您使用的是SQL Server 2012+,则可以使用
SELECT CONCAT([NUM],[ITEMNUM]) AS LINKCODE
FROM mytable
这会将NULL
视为空字符串,并将数值强制转换为字符串。
当连接可能为空的两列时,总体结果可以为空,如下所示:
SELECT NULL + [Something]
结果为NULL。 因此,您的示例需要包含一些NULL处理方法:
SELECT
ISNULL(cast([NUM] as varchar), SPACE(0)) + ISNULL(CAST([ITEMNUM] as VARCHAR), SPACE(0)) AS LINKCODE
FROM mydatabase
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.