Sql 更新包含其他列数据的列的查询

Sql Query to update a column that contains other column data

我是 sql 查询的新手。我正在尝试执行以下操作,但无法成功实现功能。任何一点都会有所帮助。

  1. 我有一个 table,其中包含名称列和别名列。
  2. 很少有包含别名的名字
  3. 我正在尝试归档在该列中包含别名的名称。这些别名应该与同一行中的别名列相匹配。
  4. 获取所有有别名的名字,并从名字中删除别名。

我正在尝试通过更新查询从 sql table 中的名称中删除别名。

select * from tbltest 
    where studentName like CONCAT('%', alias, '%')

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

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

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+ ')%')