在表Requisitions
中,我有两列RequisitionID
和Code
。
我需要以此格式更新基于RequisitionID值的代码值。
RN-000 RequisitionID
/ 2017因此,如果RequisitionID
= 1
我已经尝试了以下查询,但它没有用。
update [dbo].[Requisitions] set [Code]='RN-000 "'RequisitionID'"/2017'
答案 0 :(得分:2)
您的查询中的修改:
update [dbo].[Requisitions] set [Code]='RN-000'+RequisitionID+'/2017'
如果上述方法无效,请使用:
update [dbo].[Requisitions] set [Code]='RN-000'+CONVERT(VARCHAR,RequisitionID)+'/2017'
希望它有所帮助。
答案 1 :(得分:0)
您需要我们一起+
到CONCATENATE
他们。您还必须将2017
强制转换为VARCHAR
,以便+
运算符不会被解释为加法,而是连接。
declare @table table (RequisitionID int, Code varchar(64))
insert into @table values
(1,'RN-000')
update @table
Set Code= Code + cast(RequisitionID as varchar(1)) + '/2017'
Where RequisitionID = 1
select * from @table
+---------------+--------------+
| RequisitionID | Code |
+---------------+--------------+
| 1 | RN-0001/2017 |
+---------------+--------------+