Sql Query通过预先添加文本来更新数据

时间:2017-03-15 12:16:22

标签: sql sql-server

我有一张包含以下数据的表: -

enter image description here

我想将SetType列的数据更改为“CATEGORY_3”。所以数字将保持原样,我需要在文本'CATEGORY _'前加上数字。

所以SetType值如下: -

CATEGORY_3
CATEGORY_3
CATEGORY_5
CATEGORY_5

如何通过SQL查询预先定义文本来更新数据?

5 个答案:

答案 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