Pet*_*ter 7 sql t-sql sql-server sql-server-2005 sql-server-2008
我有一个名为Field_Data的表,表中的数据如下所示:
Date Track_ID Item#
2011-02-25 00:00:00.000 70212 1
2011-02-25 00:00:00.000 70212 2
2011-03-09 00:00:00.000 70852 1
2011-03-09 00:00:00.000 70852 3
Run Code Online (Sandbox Code Playgroud)
我想把输出作为:
Date Final_ID
2011-02-25 00:00:00.000 70212_1
2011-02-25 00:00:00.000 70212_2
2011-03-09 00:00:00.000 70852_1
2011-03-09 00:00:00.000 70852_3
Run Code Online (Sandbox Code Playgroud)
我尝试过这样的事情:
Select Date,Track_ID + '_' + Item# AS Final_ID
From Field_Data
Run Code Online (Sandbox Code Playgroud)
但它给了我以下错误:
消息245,级别16,状态1,行1
转换将varchar值'_'转换为数据类型int时失败.
任何人都可以帮我解决这个问题吗?
JNK*_*JNK 21
您需要将INT字段转换为varchar:
Select Date,CAST(Trakc_ID as varchar(20)) + '_' + CAST(Item# as varchar(20)) as Final_ID
From Field_Data
Run Code Online (Sandbox Code Playgroud)
注意任何新页面访问者,在 SQL Server 12+ 中,有一个CONCAT可用的功能。
SELECT CONCAT([Date], [TrackId], '_', [ItemNumber]) AS FinalId
FROM FieldData
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
19245 次 |
| 最近记录: |