Sql 更新包含其他列数据的列的查询
Sql Query to update a column that contains other column data
我是 sql 查询的新手。我正在尝试执行以下操作,但无法成功实现功能。任何一点都会有所帮助。
- 我有一个 table,其中包含名称列和别名列。
- 很少有包含别名的名字
- 我正在尝试归档在该列中包含别名的名称。这些别名应该与同一行中的别名列相匹配。
- 获取所有有别名的名字,并从名字中删除别名。
我正在尝试通过更新查询从 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+ ')%')
我是 sql 查询的新手。我正在尝试执行以下操作,但无法成功实现功能。任何一点都会有所帮助。
- 我有一个 table,其中包含名称列和别名列。
- 很少有包含别名的名字
- 我正在尝试归档在该列中包含别名的名称。这些别名应该与同一行中的别名列相匹配。
- 获取所有有别名的名字,并从名字中删除别名。
我正在尝试通过更新查询从 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+ ')%')