Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 任何更改列中特定数据的方法,例如从Mr更改为包含名称的Dr_Sql_Sql Server - Fatal编程技术网

Sql 任何更改列中特定数据的方法,例如从Mr更改为包含名称的Dr

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.%' 试试这

我试图更改数据库中“医生”的标题,只是想知道是否有一个SQL查询,我可以运行它来更改它们

我想问的是,是否有任何方法可以更新该列,在名称前添加一个“Dr”,以替换“Miss”和“Mr”等

我正在考虑使用包含通配符函数的SQL语句来更新它,但不确定它是否会改变细节

谢谢


卡尔

使用
更换
选项

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”这样的名字。

这很有用-谢谢戈登。这很有道理!