我有一张这样的桌子;
Lastname
MORALES
THOMPSON
SMITH
但是我想使用replace函数将所有姓氏更改为另一个字符,如下所示:
我尝试了这种语法;
select lastname, REPLACE(lastname, 'M', 'TEYE')
from customers;
但这就是我得到的;
'MORALES TEYEORALES'
代替
'MORALES TEYE'
请给我帮助。 谢谢
答案 0 :(得分:0)
您告诉它仅替换M
,而不是整个名称,这就是它的作用。如果要替换全名,请输入:
SELECT lastname, REPLACE(lastname, 'MORALES', 'TEYE')
FROM customers
REPLACE()
替换子字符串,因此如果有lastname = AMORALES
,结果将为ATEYES
。如果只想在全名时替换它,则可以使用:
SELECT lastname, IF(lastname = 'MORALES', 'TEYE', lastname)
FROM customers
答案 1 :(得分:0)
不是MySQL的专家;但是,看起来您正在获得所要的东西,姓氏跟着用“ TEYE”代替“ M”的姓氏。
您是否尝试附加要添加的字符串? 选择姓氏+“ TEYE”(或某些变体以mySQL语法连接。
如果姓氏仅在当前等于“ MORALES”的情况下才需要更新,则您很可能可以添加where(行选择)子句(例如where lastName =“ morales”)来过滤要更新的行>