首頁  >  文章  >  資料庫  >  mysql常用基礎操作語法(十一)~~字串函數【命令列模式】

mysql常用基礎操作語法(十一)~~字串函數【命令列模式】

黄舟
黄舟原創
2017-03-03 14:26:421209瀏覽

註:sql的移植性比較強,函數的移植性不強,一般為資料庫軟體特有,例如mysql有mysql的函數,oracle有oracle的函數。

1、concat連接字串:


從上圖可以看出,直接使用select concat就可以連接任兩個以上的字串,同時也可以用來連接查詢結果,一般情況中也是會用來連接查詢結果。要注意的是,如果連接的內容有null存在的話,那麼結果就只會是null。

2、concat_ws使用分隔符號連接字串:


#在上邊的語法中,第一個字元傳代表指定的連接格式,其他的代表需要連接的字串內容。與concat還有不同的是,這裡如果出現null,null會被忽略掉。

3、strcmp比較字串的大小:


#如上圖可以看到,當第一個字串小於第二個時回傳-1,反之回傳1,如果相等則回傳0.

4、length和char_length來取得字串的長度:


##從圖中可以看出length計算的是位元組數長度,而char_length計算的是字元數長度。

5、使用upper或ucase和lower或lcase來實現對英文字元的大小寫轉換:


6、find_in_set查找字串的位置:


如圖可以看到,需要尋找的字串必須滿足一定的格式,即需要逗號隔開,因此這裡不能理解為子字串。

7、使用field來尋找字串的位置:


#注意這裡和上一個的區別,一個是在同一個字串中用逗號隔開,而這裡是幾個字串。

8、locate、position和instr查找字串的位置:


這裡三個的作用基本上一樣,只是使用的語法略有不同,position要和in結合使用,locate和instr的參數位置相反,都是傳回一個字串中子字串的位置。

9、使用elt傳回指定位置的字串,語法格式和field類似:


#10、從現有字串中截取子字串:


其中left指從最左開始截取指定長度的字串,right是從右開始;substring和mid的第一個數字參數指開始截取的位置,第二個數字參數指截取的長度。

11、去除字串的空格:


#ltrim去掉左邊的空格,rtrim去掉右邊的空格,trim去掉前後的空格,只是這裡都不太好看。

12、insert字串替換:


#如圖可以看出,第一個參數為原始字串,第二個為需要替換的其實位置,第三個表示需要替換的長度,第四個表示用來替換原字串的新字串;需要注意的是,當指定的需要替換長度超過剩餘長度時會替換所有,當指定的位置剛好是比字串長度大一時,會把新字串加到末尾,當指定的位置比字串長度大2以上時,原始字串不變。

13、replace替換字串:


#與上邊不同的是,這裡不是指定位置和長度,而是直接指定一個字符串,如果這個字串不存在原始字串中,則替換失敗。

 以上就是mysql常用基礎操作語法(十一)~~字串函數【指令列模式】的內容,更多相關內容請關注PHP中文網(www.php.cn)!


#
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn