Sql 任何更改列中特定数据的方法,例如从Mr更改为包含名称的Dr
我试图更改数据库中“医生”的标题,只是想知道是否有一个SQL查询,我可以运行它来更改它们 我想问的是,是否有任何方法可以更新该列,在名称前添加一个“Dr”,以替换“Miss”和“Mr”等 我正在考虑使用包含通配符函数的SQL语句来更新它,但不确定它是否会改变细节 谢谢Sql 任何更改列中特定数据的方法,例如从Mr更改为包含名称的Dr,sql,sql-server,Sql,Sql Server,我试图更改数据库中“医生”的标题,只是想知道是否有一个SQL查询,我可以运行它来更改它们 我想问的是,是否有任何方法可以更新该列,在名称前添加一个“Dr”,以替换“Miss”和“Mr”等 我正在考虑使用包含通配符函数的SQL语句来更新它,但不确定它是否会改变细节 谢谢 卡尔使用更换选项 UPDATE table_name SET column_name = REPLACE(column_name, 'Mr.', 'Dr.') WHERE column_name LIKE 'Mr.%' 试试这
卡尔使用
更换选项
UPDATE table_name
SET column_name = REPLACE(column_name, 'Mr.', 'Dr.')
WHERE column_name LIKE 'Mr.%'
试试这个
Update myTable
set name = replace(replace(name,'Miss ','Dr '),'Mr ','Dr ')
我可以建议:
update t
set col = stuff(col, 1, charindex(' ', col + ' '), 'Dr');
这仅替换字符串中的第一个单词。您可能需要格外小心,添加一个where
子句
update t
set col = stuff(col, 1, charindex(' ', col + ' '), 'Dr')
where col like 'Miss %' or col like 'Mr %' or
col like 'Mrs %' or col like 'Ms %';
replace()
的问题在于它会替换字符串中出现的所有内容。虽然名字中不太可能有敬语,但你可以有像“Missy Elliott”这样的名字。这很有用-谢谢戈登。这很有道理!