我有一个名为 Employee 的表,其中包含以下列和值。
ID FNAME LNAME CITY
1 Shahriar Ahmed Dhaka
2 Mamunur Rashid Natore, Rajshahi
3 Muntasir Shafiq Bogra, Rajshahi
我需要将 CITY 'Rajshahi' 的部分更改为具有 FNAME = Mamunur 和 LNAME = Rashid 的 'Northen Rajshahi'
和 CITY 'Rajshahi' 的一部分到 'Southern Rajshahi' 谁有 FNAME = Muntasir 和 LNAME = Shafiq
我作为一个新手已经尝试过,但这些似乎没有什么意义出现在这里,
谁能帮我解决这个问题。
最佳答案
您可以使用 REPLACE 函数,因为它会搜索字符串中的某些字符并将其替换为其他字符。此外, 您可以使用 CASE 表达式来满足不同的替换条件。
UPDATE Employee
SET CITY = (CASE
WHEN FNAME = 'Mamunur' AND LNAME = 'Rashid'
THEN REPLACE(city, 'Rajshahi', 'Northern Rajshahi')
WHEN FNAME = 'Muntasir' AND LNAME = 'Shafiq'
THEN REPLACE(city, 'Rajshahi', 'Southern Rajshahi')
ELSE CITY
END
);
继续学习,
https://msdn.microsoft.com/en-us/library/ms186862.aspx
http://www.sqlteam.com/article/using-replace-in-an-update-statement
关于sql - 如何替换字符串的一部分(多个),每个字符串都有单独的条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37855619/