更新以相同名称开头的多个值的查询

时间:2013-11-23 11:28:44

标签: sql sql-server

我有一组id,每个id都有子ID,例如我有一个Id 12345,这个ID的子ID就像(12345_1,12345_Sub,12345_john等)。

像这样,我有多个ID,每个ID都有相应的子ID。

每个子ID名称都从其父ID名称开始。我尝试更新这些设置ID的更新一列以及它们的子ID为“完整”。所以我使用了下面的代码,但它不起作用,我没有收到任何错误。

update **DBname/Tablename** 
set **IDStatus**='Complete' 
where **id** like ('12345%', '555656%', '4545454%', '87879898', ..., '14545%');

我正在使用Microsoft SQL Server Management Studio。请帮助我。对不起我的英文

1 个答案:

答案 0 :(得分:1)

LIKE无法应用于列表,您需要将表达式与OR相关联,如下所示:

UPDATE My_Table
SET IDStatus = 'Complete'
WHERE
    id LIKE '12345%'
 OR id LIKE '555656%'
 OR id LIKE '4545454%'
 OR id LIKE '87879898%'
 OR id LIKE '14545%'