我有一张包含以下数据的表: -
我想将SetType列的数据更改为“CATEGORY_3”。所以数字将保持原样,我需要在文本'CATEGORY _'前加上数字。
所以SetType值如下: -
CATEGORY_3
CATEGORY_3
CATEGORY_5
CATEGORY_5
如何通过SQL查询预先定义文本来更新数据?
答案 0 :(得分:1)
您使用update
。这是一种方法:
update t
set SetType = replace('Category_@val', '@val', SetType);
这假设SetType
是一个字符字段。如果没有,您需要在进行此类更改之前更改列的类型。
答案 1 :(得分:0)
使用所有行的UPDATE语句:
UPDATE your_tablename SET SetType = 'CATEGORY_'+SetType
如果SetType数据类型不在VARCHAR中,则意味着使用以下查询:
UPDATE your_tablename SET SetType = 'CATEGORY_'+CAST(SetType AS VARCHAR)
答案 2 :(得分:0)
您可以使用CONCAT
。
update table_name set SetType = CONCAT('CATEGORY_', SetType)
CONCAT
只会将字符串相互追加,您可以在参数中使用多个字符串,方法是将其与,
分开。
答案 3 :(得分:0)
使用UPDATE语句,但如果您的SetType列数据类型为Int,则首先将其转换为varchar。
{{1}}
答案 4 :(得分:0)
如果SetType
目前是integer
类型,则原因可能是int
。如果您只需要某些查询来预先'Category_'
修改select
个查询,而不是更新表格。
select
SetName
, SetType = convert(varchar(20),('Category_'+convert(varchar(11),SetType)))
, FieldValue1
from t