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

注:sql的移植性比較強,函數的移植性不強,一般為數據庫軟件特有,例如mysql有mysql的函數,oracle有oracle的函數。

1、concat連接字符串:

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

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

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

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

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

3、strcmp比較字符串的大小:

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

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

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

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

從圖中可以看出length計算的是字節數長度,而char_length計算的是字符數長度。

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

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

6、find_in_set查找字符串的位置:

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

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

7、使用field查找字符串的位置:

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

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

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

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

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

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

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

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

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

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

11、去除字符串的空格:

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

ltrim去掉左邊的空格,rtrim去掉右邊的空格,trim去掉前后的空格,只是這里都不太好看出來。

12、insert字符串替換:

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

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

13、replace替換字符串:

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

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

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

? 版權聲明
THE END
喜歡就支持一下吧
點贊5 分享