Sql Query更新包含其他列数据的列

时间:2015-05-26 22:10:59

标签: sql sql-server select sql-update

我是sql查询的新手。我试图执行以下操作,无法成功实现功能。任何一点都有帮助。 Table with name and alias

  1. 我有一个名为column and alias column的表。
  2. 包含别名的名称很少
  3. 我正在尝试提交包含在该列中的别名的名称。这些别名应与同一行中的别名列匹配。
  4. 获取包含别名的所有名称,并从名称中删除别名。
  5. 我正在尝试使用更新查询从sql表中的名称中删除别名。

    select * from tbltest 
        where studentName like CONCAT('%', alias, '%')
    
        UPDATE tbltest SET studentName = REPLACE(studentName, CONCAT('%', alias, '%'));
    

1 个答案:

答案 0 :(得分:1)

如果所有别名都以所示格式嵌入,那么可以使用它们和周围的括号。

UPDATE tbltest 
SET studentName = REPLACE(studentName, CONCAT('(', alias, ')'), '')
WHERE studentName LIKE CONCAT('%(', alias, ')%')

添加concat不起作用的案例

UPDATE tbltest 
SET studentName = REPLACE(studentName, '('+ alias+ ')', '')
WHERE studentName LIKE ('%('+ alias+ ')%')