mysql常用字串函式

2021-08-27 16:49:28 字數 3595 閱讀 5579

[size=medium][color=blue][b]1.字串長度函式char_length(str),length(str)[/b][/color][/size]

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

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

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

[color=blue][size=medium][b]2.拼接函式[/b][/size][/color]

concat(str1 ,str2 ,...):

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

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

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

lpad(str ,len ,padstr):返回字串 str , 其左邊由字串padstr 填補到len 字元長度

select lpad('abc',1,'de'); --a (str的長度大於len,則返回值被縮短至len字元)

select lpad('abc',4,'de'); --dabc

select lpad('abc',5,'de'); --deabc

select lpad('abc',6,'de'); --dedabc

rpad(str,len,padstr):返回字串str , 其右邊被字串 padstr 填補至len 字元長度

select rpad('abc',1,'de'); --a (str的長度大於len,則返回值被縮短至len字元)

select rpad('abc',4,'de'); --abcd

select rpad('abc',4,'de'); --abcde

select rpad('abc',6,'de'); --abcded

[size=medium][color=blue][b]3.重複函式[/b][/color][/size]

repeat(str ,count):

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

[size=medium][color=blue][b]4.查詢位置函式[/b][/color][/size]

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 。

[size=medium][color=blue][b]5.擷取函式[/b][/color][/size]

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個點開始的串

[size=medium][color=blue][b]6.大小寫轉換函式[/b][/color][/size]

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

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

[size=medium][color=blue][b]7.字串替換函式[/b][/color][/size]

replace(str ,from_str ,to_str)

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

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

[size=medium][color=blue][b]8.反轉函式reverse(str)[/b][/color][/size]

select reverse('abc'); --cba

[size=medium][color=blue][b]9.去空格函式[/b][/color][/size]

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

[size=medium][color=blue][b]10.空格字串[/b][/color][/size]

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

mysql常用字串 MYSQL常用字串函式寶典

mysql常用字串函式 想更進一步加強自己在查詢語句方面的能力,需要掌握常用函式。字串函式 1 concat s1,s2,sn 將s1,s2,sn串聯成乙個字串。exp root test 14 43 desc t1 field type null key default extra id int ...

MYSQL 常用字串函式

ascii str 返回值為字串str 的最左字元的數值。left str,len 返回字串str的最左面len個字元。right str,len 返回字串str的最右面len個字元。locate substr,str,pos 返回子串substr在字串str第乙個出現的位置,從位置pos開始。如果...

常用字串函式

memset 原型 extern void memset void buffer,int c,int count 用法 include 功能 把buffer所指記憶體區域的前count個位元組設定成字元c。說明 返回指向buffer的指標。舉例 memset.c include include ma...