我正在努力改变“医生”的标题。在一个数据库中,我只是想知道是否有一个SQL查询,我可以运行它来更改它们。
The column im trying to change
我要问的是,我可以通过任何方式更新专栏,以便添加' Dr'在名称前面取代“小姐”,“先生”等。等
我正在考虑使用包含通配符函数的SQL语句来更新它,但不确定它是否会改变细节。
谢谢,
卡尔
答案 0 :(得分:0)
使用REPLACE
选项
UPDATE table_name
SET column_name = REPLACE(column_name, 'Mr.', 'Dr.')
WHERE column_name LIKE 'Mr.%'
答案 1 :(得分:0)
试试这个
Update myTable
set name = replace(replace(name,'Miss ','Dr '),'Mr ','Dr ')
答案 2 :(得分:0)
我可能会建议:
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()
的问题在于它取代了字符串中的所有匹配项。虽然敬意不太可能在名字中,但你可能会有像#34; Missy Elliott"这样的名字。