我正在使用SQL Server 2008.我创建了一个名为unique_number
的新数字列,我希望通过连接另外两个名为site
和number
的数字列来填充此列。 site
列的范围为1-31,小于10的值在它们前面没有零。我想要以下
Number Site unique_number
1234567 2 12345672
3456789 26 345678926
使用+
我能够将unique_number
作为两列的总和,但我希望连接发生,而不是求和。我已尝试使用强制转换为varchar
的其他建议,但select语句继续给我错误。有合理的方法吗?
答案 0 :(得分:10)
您应该能够将两个列都转换为varchar
,然后将它们连接起来:
select number, site,
cast(number as varchar(50))
+ cast(site as varchar(2)) unique_number
from yt;
如果您想更新表格,那么您只需在更新声明中使用上述内容:
update yt
set unique_number = cast(cast(number as varchar(50))
+ cast(site as varchar(2)) as int);
请参阅Demo