MySQL中常用字串函式

2021-07-27 10:16:10 字數 2832 閱讀 8407

1.字串長度函式char_length(str),length(str)

char_length()返回值為字串str的長度,長度的單位為字元。乙個多位元組字元算作乙個單字元。對於乙個包含五個二位元組字符集,length() 返回值為 10, 而 char_length() 的返回值為 5 

select char_length('你是'); --2 

select length('你是'); --6 

2.拼接函式

concat(str1 ,str2 ,...): 

返回結果為連線引數產生的字串。如有任何乙個引數為 null ,則返回值為null。 

concat_ws(separator ,str1 ,str2 ,...): 

concat_ws() 代表 concat with separator ,是 concat() 的特殊形式。 第乙個引數是其它引數的分隔符。分隔符的位置放在要連線的兩個字串之間。分隔符可以是乙個字串,也可以是其它引數。如果分隔符為 null ,則結果為 null 。函式會忽略任何分隔符引數後的 null 值。 

3.重複函式

repeat(str ,count): 

函式使用說明:返回乙個由重複的字串str 組成的字串,字串str 的數目等於count 。 若 count <= 0, 則返回乙個空字串。若str 或 count 為 null ,則返回 null 。 

4.查詢位置函式

find_in_set(str, strlist) 

假如字串 str 在由 n 子鏈組成的字串列表 strlist 中, 則返 

回值的範圍在 1 到 n 之間 。乙個字串列表就是乙個由一些被 『,』 符號分開的自鏈組成的字串。如果第乙個引數是乙個常數字串,而第二個是 type set 列,則 find_in_set() 函式被優化,使用位元計算。如果 str 不在 strlist 或 strlist 為空字串,則返回值為 0 。如任意乙個引數為 null ,則返回值為 null。 

instr(str,substr) 

返回字串 str 中子字串的第乙個出現位置。這和locate() 的雙引數形式相同,除非引數的順序被顛倒。 

locate(substr ,str ) , locate(substr ,str ,pos ): 

第乙個語法返回字串 str 中子字串substr 的第乙個出現位置。第二個語法返回字串 str 中子字串substr 的第乙個出現位置, 起始位置在pos 。如若substr 不在str 中,則返回值為0 。 

5.擷取函式

left(str,len): 

返回從字串str 開始的len 最左字元 

right(str ,len ): 

從字串str 開始,返回最右len 字元。 

substring(str ,pos ) , substring(str from pos ) substring(str ,pos ,len ) , substring(str from pos for len ): 

不帶有len 引數的格式從字串str 返回乙個子字串,起始於位置 pos 。帶有len 引數的格式從字串str 返回乙個長度同len 字元相同的子字串,起始於位置 pos 。 使用 from 的格式為標準 sql 語法。也可能對pos 使用乙個負值。假若這樣,則子字串的位置起始於字串結尾的pos 字元,而不是字串的開頭位置。 

select substring('abcd',-2); --cd 

注:substring() 等價於substr() 

substring_index(str,delim,count) 

在定界符 delim 以及count 出現前,從字串str 返回自字串。若count 為正值, 則返回最終定界符( 從左邊開始) 左邊的一切內容。若count 為負值,則返回定界符(從右邊開始)右邊的一切內容。 

select substring_index('a,b,c',',',2)     --  a,b 從開頭到第2個,的串 

substring_index('a,b,c','.',-2)    --  b,c 從倒數第2個點開始的串 

6.大小寫轉換函式

lcase(str),lower(str)轉化為小寫 

ucase(str),upper(str)轉化為大寫 

7.字串替換函式

replace(str ,from_str ,to_str) 

返回字串str 以及所有被字串to_str 替代的字串from_str 

select replace('abcabc','ab','e'); --ecec 

8.反轉函式reverse(str)

select reverse('abc'); --cba 

9.去空格函式

select ltrim('   abc'); --abc 

select rtrim('abc   '); --abc 

trim([ [remstr ] from] str ): 

返回字串 str , 其中所有remstr 字首和/ 或字尾都已被刪除。若分類符both 、leadin 或trailing 中沒有乙個是給定的, 則假設為both 

select trim(both from'  a  b  '); --a  b 

10.空格字串

space(n):返回乙個由n個空格組成的字串 

MySQL中常用字串函式

分類 資料庫技術2014 04 07 23 06 6708人閱讀 舉報1.字串長度函式char length str length str char length 返回值為字串str的長度,長度的單位為字元。乙個多位元組字元算作乙個單字元。對於乙個包含五個二位元組字符集,length 返回值為 10...

MySQL中常用字串函式

1.字串長度函式char length str length str char length 返回值為字串str的長度,長度的單位為字元。乙個多位元組字元算作乙個單字元。對於乙個包含五個二位元組字符集,length 返回值為 10,而 char length 的返回值為 5 select char ...

MySQL中常用字串函式

length函式 獲取引數值的位元組個數 語法 select length 引數 乙個中文在utf 8中佔3個位元組 concat 拼接字串 select concatenate 引數1 引數2 引數n from 表名 upper lower upper將字串全部轉換成大寫的字元 lower將字串全...