mysql字串函式用法和注意事項 簡述

2021-09-22 13:53:31 字數 3211 閱讀 4982

注:^^代表字段,**代表資料表

字串函式

ascii(^^)  返回選中字段^^的每乙個記錄的第乙個字元的ascii碼

用法:select ascii(「name」);  select ascii(^^) as 別名 from **;

char_length(^^) 返回字段^^的每乙個記錄的字元數量

用法:select char_length(「name」);  select char_length(^^) as 別名 from **;

concat(^^1,^^2) 將選中的多個欄位的記錄合併成乙個字串

用法:select concat(「name」,」12345」,……);  select concat(^^1,^^2,……) from **;

concat_ws(『隔離符』,^^1,^^2) 將選中的多個欄位的記錄合併成乙個字串並加上隔離符

用法select concat_ws(『-』,」name」,」12345」,……) ;  select concat_ws(『-』,^^1,^^2,……) from **;

field(『字串』,^^1,^^2) 判段字串在字段記錄中的位置

用法:select field(『c』,』a』,』b』,』c』,』d』,……); select field(『c』,^^1,^^2,……) from **

注:在filed使用中該函式以當前欄位的整個記錄和條件字串做對比完全一樣才會返回(例:條件字元為xx 匹配的記錄一樣為xx)如果不完全一致不會返回結果(例:條件字元為x 匹配記錄為xx)

find_in_set(『字串』,^^) 查詢字串中與^^匹配的位置

用法:select find_in_set(『c』,』s,x,c』); select find_in_set(『c』,^^) from **;

注意:該函式以逗號標識,也就是每乙個逗號分隔乙個字串。(例:條件為x 某個欄位的記錄為』c,s,x』 這時候返回結果是3 如果記錄為csx 返回的結果就是0)

format(數字,n) 對數字進行保留n位小數

用法:select format(數字,n); select farmat(^^,n) from **;

注意:顯示的結果小數前每三位都有逗號分隔,如處理的記錄為非數字則會做0處理

insert(^^,x,len,str) 將^^的記錄從x開始到len改變為str

用法:select insert(『name』,1,4,』pwd』);結果為pwd; select insert(『^^』,4,8,』****』) from **;

注意:區分insert做sql語句和做函式的不同概念即可

locate(『str』,』^^』) 查詢str在^^中的位置

用法:select locate(『b』,』abc』) ; select lacate(『c』,`^^`) from **;

注意:區分和field和find_in_set。field做完全匹配,find_in_set以逗號為識別符號,該函式會做依次對比;

lcase(^^)和lower(^^) 將字串轉成小寫 (同義詞)

ucase(^^)和upper(^^) 將字串轉成大寫 (同義詞)

用法:select 函式(『字串』); select 函式(^^) from **

left(^^,n) 返回字段^^記錄的前n個字元

right(^^,n) 返回字段^^記錄的後n個字元

用法:select 函式(『字串』,n); select 函式(^^,n) from **;

lpad(^^,len,str) 在字段^^的每個記錄的開頭,新增str使記錄達到len長度

rpad(^^,len,str) 在字段^^的每個記錄的結束,新增str使記錄達到len長度

用法:select 函式(『name』,6,』x』);(xxname/namexx);select 函式(^^,6,』x』) from **

注意:如果len《記錄的長度,會從尾部刪除字元

ltrim(^^) 開頭去空

rtrim(^^) 結尾去空

trim(^^)  頭尾去空

用法:select 函式(『      name』);(結果:name);select 函式(^^) from **;

mid(^^,n,len)和substring(^^,n,len)、substr(^^,n,len)在字段^^的記錄中從n擷取len長度作結果返回

用法:select mid(『name』,-1,2);(結果為me)  select mid(^^,1,6) from **;

注意:若n為負數則從尾部開始計算

position(『str』 in ^^) 返回str在字段^^的記錄中的第一次出現位置

用法:select position(『a』 in 『nana』);(結果:2) select position(『aaa』 in ^^) from **

repeat(^^,n) 將字段^^的每個記錄重複三次做結果返回

用法:select repeat(『ab』,2);(結果:abab)   select repeat(`name`,3) from **

注意:n<=0返回結果為空

replace(^^,s1,s2) 將字段^^中記錄的s1替換成s2

用法:select replace(『name』,』n』 ,』p』);(結果:pame)  select replace(^^,』s1』,』s2』) from **;

reverse(^^) 字串反轉

用法:select reverse(『abc』);(結果:cba)    select reve

rse(^^) from **;

space(n) 返回n個空格

用法:select space(10);

strcmp(^^1,^^2) 字串比較

用法:select strcmp(『name』,』pwd』);(結果:1);select strcmp(『^^1』,』^^2』) from **;

注意:相等返回0 ;引數1大返回1,反之返回-1

substring_index(^^,str,num)  返回字段^^記錄忽略隔離符str的第num個之後的所有字元

用法:select substring_index(『a.b.c』,』.』,』2』);(結果:a.b); select substring_index(^^,』.』,3) from **;

注意:返回記錄時會把隔離符返回,只是函式執行的時候會忽略執行。如果num為負數返回的結果是num的絕對值從右邊計算

mysql的字串處理函式用法

1.locate函式 locate substr,str 返回子串 substr 在字串 str 中第一次出現的位置。如果子串 substr 在 str 中不存在,返回值為 0。如果substr或str為null,則返回null。從1開始 例如 mysql select locate bar foo...

mysql字串邊界 mysql字串函式

mysql 字串擷取函式 ord cast left right substring substring index mid substr 其中,mid substr 等價於substring 函式,substring 的功能非常強大和靈活。ord 用於返回字串第乙個字元的ascii碼。cast 1...

MySQL數學函式和字串函式

mysql8.0的函式 錨點 數學函式 字串函式 鏈結 日期和時間函式,條件判斷函式 系統資訊函式,其他函式 數學函式 函式功能 abs x 返回x的絕對值 pi 返回圓周率 的預設值。預設的顯示是小數字數是6位 sqrt x 返回非負數x的二次方根 mod x,y 返回x被y除后的餘數,mod 對...