mysql中的replace函數(shù)替換字符串問題
mysql中replace函數(shù)替換字符串
介紹下mysql的REPLACE()函數(shù)
語法:
REPLACE()函數(shù)的語法如下:
REPLACE(str,old_string,new_string);
參數(shù):
REPLACE()函數(shù)有三個參數(shù),它將string中的old_string替換為new_string字符串。
如果第二個參數(shù)old_string不存在,則不處理。
示例:
REPLACE()函數(shù)非常方便搜索和替換表中的文本,例如更新過時的URL,糾正拼寫錯誤等。
下面演示三種情況的示例。
- ①select 可以直接用(聲明curl ,顯示需求等)
- ②UPDATE語句中使用REPLACE函數(shù)
- ③嵌套使用的情況
具體內容如下:
①select 可以直接用(聲明curl ,顯示需求等)
例:
比如電話號碼中間有連字符 -,需要不顯示,或取值時想去掉。
SELECT phone, replace(phone,'-','') FROM phone_table;
→
注意:
- 非常重要的是,在REPLACE函數(shù)中,第一個參數(shù)是不帶引號(")的列名。
- 如果將引號括起來,就像"field_name"這樣的字段名稱,查詢將會將該列的內容更新為"field_name",導致意外的數(shù)據(jù)丟失。
上面的例子不小心在列名上加了引號的結果:
SELECT phone, replace('phone','-','') FROM phone_table;
→
②UPDATE語句中使用REPLACE函數(shù)的語法如下
UPDATE tbl_name SET field_name = REPLACE(field_name, string_to_find, string_to_replace) WHERE conditions;
例:
UPDATE products SET productDescription = REPLACE(productDescription, 'abuot', 'about');
查詢查找所有出現(xiàn)的拼寫錯誤詞:abuot,并通過products表的productDescription列中使用正確單詞將其替換。
③嵌套使用的情況
舉個例子。
電話號碼中存在一些不整齊的數(shù)據(jù),目的是想要去掉連字符,并且去掉一些不需要的半角空格。
(全角空格同理)
那么就可以嵌套使用,replace兩次。
SELECT phone,replace(replace(phone,'-',''), ' ','' ) FROM phone_table;
→
總結
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
MySQL slave_net_timeout參數(shù)解決的一個集群問題案例
這篇文章主要介紹了MySQL slave_net_timeout參數(shù)解決的一個集群問題案例,問題日志請見正文,本文使用slave_net_timeout參數(shù)解決了這個問題,需要的朋友可以參考下2015-05-05一種簡單的ID生成策略: Mysql表生成全局唯一ID的實現(xiàn)
這篇文章主要介紹了一種簡單的ID生成策略: Mysql表生成全局唯一ID的實現(xiàn),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-11-11