Mysql字符串處理函數整理 ? ??????? 以下是用過的一些MySql字符串函數整理的方法,羅列出來僅供參考。 1、 非法數據替換 函數: replace(str,from_str,to_str) ??????? 查詢后發現數據庫中存在一些非法數據,導致看起來非常難看,數據入庫時只檢查了前后空格
Mysql字符串處理函數整理?
??????? 以下是用過的一些MySql字符串函數整理的方法,羅列出來僅供參考。
1、非法數據替換
函數:replace(str,from_str,to_str)
??????? 查詢后發現數據庫中存在一些非法數據,導致看起來非常難看,數據入庫時只檢查了前后空格,沒有做更嚴格的去空格處理,只能進行事后處理。
update table set cname = replace(cname,' ',''); update table set cname = replace(cname,' ','');
?
??????? 有些字段看似空格,實際上不是空格的東西。可能是一些全角符合或者其他的,復制該字段然后粘貼至需替換中即可。
?
2、查詢結果字段連接
??????? 函數1:concat(str1,str2,str3)
??????? 函數2:concat_ws(splitstr,str1,str2,str3)
??????? 函數3:group_concat(str)
?
函數1 concat(str1,str2,str3)
??????? 很簡單,只是將制定列或字符串拼接起來然后使用。
?
函數2 concat_ws(splitstr,str1,str2,str3)?
??????? 將str1,str2,str3以splitstr為分隔符進行連接并返回結果。
?
函數3? group_concat(str)?
??????? 手冊上說明:該函數返回帶有來自一個組的連接的非NULL值的字符串結果。
??????? 比較抽象,難以理解。
??????? group_concat()會計算哪些行屬于同一組,將屬于同一組的列顯示出來。要返回哪些列,由函數參數(就是字段名)決定。分組必須有個標準,就是根據group by指定的列進行分組。
1、測試語句,
????????
select province,group_concat(name) from city group by province;
??????? 河北??? 保定,石家莊,邯鄲,邢臺
??????? 北京??? 北京
????????
select group_concat(name) from city;
??????? 保定,石家莊,邯鄲,邢臺,北京
?
函數4 subString_index(str,indexstr,index)
??????? 以字符標識截取字符串的函數,第二個參數為指定字符,第三個參數為該字符出現的次數
????????
select sum(substring_index("0.124M",'M',1)) from dual;
??????? 返回結果為:0.124
?
?
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com