Sql server 2008 SQL server:连接两个数值列中的值
我正在使用SQLServer2008。我创建了一个新的数字列,名为Sql server 2008 SQL server:连接两个数值列中的值,sql-server-2008,Sql Server 2008,我正在使用SQLServer2008。我创建了一个新的数字列,名为unique\u number,我想通过连接另外两个名为site和number的数字列来填充此列。site列的范围为1-31,小于10的值前面没有零。我想要以下的 Number Site unique_number 1234567 2 12345672 3456789 26 345678926 使用+我已经能够得到unique\u number作为两列的总和,但我希望发生串
unique\u number
,我想通过连接另外两个名为site
和number
的数字列来填充此列。site
列的范围为1-31,小于10的值前面没有零。我想要以下的
Number Site unique_number
1234567 2 12345672
3456789 26 345678926
使用
+
我已经能够得到unique\u number
作为两列的总和,但我希望发生串联,而不是求和。我使用cast asvarchar
尝试了其他建议,但是select语句仍然给我错误。有没有一种合理的方法可以做到这一点?您应该能够将这两列强制转换为varchar
,然后将它们连接起来:
select number, site,
cast(number as varchar(50))
+ cast(site as varchar(2)) unique_number
from yt;
看
如果要更新表,则只需在update语句中使用上面的语句:
update yt
set unique_number = cast(cast(number as varchar(50))
+ cast(site as varchar(2)) as int);
请参见为什么需要存储此文件?
Number
是否总是有7位数字(如果不是,您如何知道12345622
是123456,22
还是1234562,2
)这很简单,谢谢。有关于如何同时更新我的表的线索吗?使用update语句时,由于selectstatement@user2448666您只需使用UPDATE语句,请参见我的编辑和演示。我必须将int更改为numeric,但这非常有效。谢谢你的帮助。