注: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)!