Mysql字符串處置函數具體引見、總結。本站提示廣大學習愛好者:(Mysql字符串處置函數具體引見、總結)文章只能為提供參考,不一定能成為您想要的結果。以下是Mysql字符串處置函數具體引見、總結正文
1、簡明總結
ASCII(char) 前往字符的ASCII碼值
BIT_LENGTH(str) 前往字符串的比專長度
CONCAT(s1,s2…,sn) 將s1,s2…,sn銜接成字符串
CONCAT_WS(sep,s1,s2…,sn) 將s1,s2…,sn銜接成字符串,並用sep字符距離
INSERT(str,x,y,instr) 將字符串str從第x地位開端,y個字符長的子串調換為字符串instr,前往成果
FIND_IN_SET(str,list) 剖析逗號分隔的list列表,假如發明str,前往str在list中的地位
LCASE(str)或LOWER(str) 前往將字符串str中一切字符轉變為小寫後的成果
LEFT(str,x) 前往字符串str中最右邊的x個字符
LENGTH(s) 前往字符串str中的字符數
LTRIM(str) 從字符串str中切失落開首的空格
POSITION(substr,str) 前往子串substr在字符串str中第一次湧現的地位
QUOTE(str) 用反斜槓本義str中的單引號
REPEAT(str,srchstr,rplcstr)前往字符串str反復x次的成果
REVERSE(str) 前往倒置字符串str的成果
RIGHT(str,x) 前往字符串str中最左邊的x個字符
RTRIM(str) 前往字符串str尾部的空格
STRCMP(s1,s2) 比擬字符串s1和s2
TRIM(str) 去除字符串首部和尾部的一切空格
UCASE(str)或UPPER(str) 前往將字符串str中一切字符改變為年夜寫後的成果
2、具體總結
1.ASCII(str)
前往值為字符串str 的最左字符的數值,即獲得最左字符的ascii碼。
假設str為空字符串,則前往值為 0 。假設str 為NULL,則前往值為 NULL。
ASCII()用於帶有從 0到255的數值的字符。
2.BIN(N)
前往值為N的二進制值的字符串表現,即轉為二進制。
個中 N 為一個longlong (BIGINT) 數字。這同等於 CONV(N,10,2)。假設N 為NULL,則前往值為 NULL。
3.BIT_LENGTH(str)
前往值為二進制的字符串str 長度。
4.CHAR(N,... [USING charset])
CHAR()將每一個參數N懂得為一個整數,其前往值為一個包括這些整數的代碼值所給出的字符的字符串。NULL值被省略。
行將一切參數轉為字符後銜接在一路。
5.CHAR_LENGTH(str)
前往值為字符串str 的長度,長度的單元為字符。
6.CHARACTER_LENGTH(str)
CHARACTER_LENGTH()是CHAR_LENGTH()的同義詞。
7.COMPRESS(string_to_compress)
緊縮一個字符串。
8.CONCAT(str1,str2,...)
前往成果為銜接參數發生的字符串。
9.CONCAT_WS(separator,str1,str2,...)
CONCAT_WS() 代表 CONCAT With Separator ,是CONCAT()的特別情勢。
第一個參數是其它參數的分隔符。分隔符的地位放在要銜接的兩個字符串之間。
分隔符可所以一個字符串,也能夠是其它參數。假如分隔符為 NULL,則成果為 NULL。函數會疏忽任何分隔符參數後的 NULL 值。
10.CONV(N,from_base,to_base)
分歧數基間轉換數字。前往值為數字的N字符串表現,由from_base基轉化為 to_base 基。若有隨意率性一個參數為NULL,則前往值為 NULL。
自變量 N 被懂得為一個整數,然則可以被指定為一個整數或字符串。最小基數為 2 ,而最年夜基數則為 36。
11.ELT(N,str1,str2,str3,...)
若N = 1,則前往值為 str1 ,若N = 2,則前往值為 str2 ,以此類推。 若N 小於1或年夜於參數的數量,則前往值為 NULL 。
12.EXPORT_SET(bits,on,off[,separator[,number_of_bits]])
前往值為一個字符串,個中關於bits值中的每一個位組,可以獲得一個 on 字符串,而關於每一個清零比特位,可以獲得一個off 字符串。
bits 中的比特值依照從右到左的次序接收磨練 (由低位比特到高位比特)。
字符串被分隔字符串離開(默許為逗號‘,'),依照從左到右的次序被添加到成果中。number_of_bits 會給出被磨練的二進制位數 (默許為 64)。
13.FIELD(str,str1,str2,str3,...)
前往值為str1, str2, str3,……列表中的str 指數(地位)。在找不到str 的情形下,前往值為 0 。
假如一切關於FIELD() 的參數均為字符串,則一切參數均依照字符串停止比擬。
假如一切的參數均為數字,則依照數字停止比擬。不然,參數依照雙倍停止比擬。
14.FIND_IN_SET(str,strlist)
假設字符串str 在由N 子鏈構成的字符串列表strlist 中, 則前往值的規模在 1 到 N 之間(即str在strlist中的地位) 。
一個字符串列表就是一個由一些被‘,'符號離開的自鏈構成的字符串。
15.FORMAT(X,D)
將數字X 的格局寫為'#,###,###.##',以四捨五入的方法保存小數點後 D 位, 並將成果以字符串的情勢前往。
若 D 為 0, 則前往成果不帶有小數點,或不含小數部門。
16.HEX(N_or_S)
假如N_OR_S 是一個數字,則前往一個 十六進制值 N 的字符串表現,在這裡,N 是一個longlong (BIGINT)數。這相當於 CONV(N,10,16)。
17.INSERT(str,pos,len,newstr) (str中的字符被newstr調換)
前往字符串 str, 其子字符串肇端於 pos 地位和歷久被字符串 newstr代替的len 字符。
假如pos 跨越字符串長度,則前往值為原始字符串。
假設len的長度年夜於其它字符串的長度,則從地位pos開端調換。若任何一個參數為null,則前往值為NULL。
18.INSTR(str,substr)
前往字符串 str 中子字符串的第一個湧現地位。這和LOCATE()的雙參數情勢雷同,除非參數的次序被倒置。
19.LCASE(str)
LCASE() 是 LOWER()的同義詞。
20.LEFT(str,len)
前往從字符串str 開端的len 最左字符。
21.LENGTH(str)
前往值為字符串str 的長度,單元為字節。一個多字節字符算作多字節。
這意味著 關於一個包括5個2字節字符的字符串, LENGTH() 的前往值為 10, 而 CHAR_LENGTH()的前往值則為5。
22.LOAD_FILE(file_name) (不錯)
讀取文件並將這一文件依照字符串的格局前往。
例: mysql> UPDATE tbl_name
SET blob_column=LOAD_FILE('/tmp/picture')
WHERE id=1;
23.LOCATE(substr,str) , LOCATE(substr,str,pos)
第一個語法前往字符串 str中子字符串substr的第一個湧現地位。
第二個語法前往字符串 str中子字符串substr的第一個湧現地位, 肇端地位在pos。如若substr 不在str中,則前往值為0。
24.LOWER(str)
前往字符串 str 和一切依據最新的字符集映照表變成小寫字母的字符 (默許為 cp1252 Latin1)。
25.LPAD(str,len,padstr)
前往字符串 str, 其右邊由字符串padstr 彌補到len 字符長度。假設str 的長度年夜於len, 則前往值被延長至 len 字符。
即在str後面添加長度為len的padstr.
26.LTRIM(str)
前往字符串 str ,其引誘空格字符被刪除。
27.MAKE_SET(bits,str1,str2,...)
前往一個設定值 (一個包括被‘,'號離開的字字符串的字符串) ,由在bits 組中具有響應的比特的字符串構成。
str1 對應比特 0, str2 對應比特1,以此類推。str1, str2, ...中的 NULL值不會被添加到成果中。
28.MID(str,pos,len)
MID(str,pos,len) 是 SUBSTRING(str,pos,len)的同義詞。
29.OCT(N)
前往一個 N的八進制值的字符串表現,個中 N 是一個longlong (BIGINT)數。這同等於CONV(N,10,8)。若N 為 NULL ,則前往值為NULL。
30.OCTET_LENGTH(str)
OCTET_LENGTH() 是 LENGTH()的同義詞。
31.ORD(str)
若字符串str 的最左字符是一個多字節字符,則前往該字符的代碼,
假設最左字符不是一個多字節字符,那末 ORD()和函數ASCII()前往雷同的值。
32.POSITION(substr IN str)
POSITION(substr IN str)是 LOCATE(substr,str)同義詞。
33.QUOTE(str)
引證一個字符串,由此發生一個在SQL語句中可用作完整本義數據值的成果。
34.REPEAT(str,count)
前往一個由反復的字符串str 構成的字符串,字符串str的數量等於count 。
若 count <= 0,則前往一個空字符串。若str 或 count 為 NULL,則前往 NULL 。
35.REPLACE(str,from_str,to_str)
前往字符串str 和一切被字符串to_str替換的字符串from_str 。
36.REVERSE(str)
前往字符串 str ,次序和字符次序相反。
37.RIGHT(str,len)
從字符串str 開端,前往最右len 字符。
38.RPAD(str,len,padstr)
前往字符串str, 其左邊被字符串 padstr彌補至len 字符長度。
假設字符串str 的長度年夜於 len,則前往值被延長到與 len 字符雷同長度。
39.RTRIM(str)
前往字符串 str ,開頭空格字符被刪去。
40.SOUNDEX(str)
從str前往一個soundex字符串。
41.SPACE(N)
前往一個由N 距離符號構成的字符串。
42.SUBSTRING(str,pos) , SUBSTRING(str FROM pos) SUBSTRING(str,pos,len) , SUBSTRING(str FROM pos FOR len)
SUBSTR()是 SUBSTRING()的同義詞。
不帶有len 參數的格局從字符串str前往一個子字符串,肇端於地位 pos。
帶有len參數的格局從字符串str前往一個長度同len字符雷同的子字符串,肇端於地位 pos。
應用 FROM的格局為尺度 SQL 語法。也能夠對pos應用一個負值。
假若如許,則子字符串的地位肇端於字符串開頭的pos 字符,而不是字符串的開首地位。
43.SUBSTRING_INDEX(str,delim,count)
在定界符 delim 和count 湧現前,從字符串str前往自字符串。
若count為正值,則前往終究定界符(從右邊開端)右邊的一切內容。若count為負值,則前往定界符(從左邊開端)左邊的一切內容。
44.TRIM([{BOTH | LEADING | TRAILING} [remstr] FROM] str) TRIM(remstr FROM] str)
前往字符串 str , 個中一切remstr 前綴和/或後綴都已被刪除。
若分類符BOTH、LEADIN或TRAILING中沒有一個是給定的,則假定為BOTH 。 remstr 為可選項,在未指定情形下,可刪除空格。
45.UCASE(str)
UCASE()是UPPER()的同義詞。
46.UNCOMPRESS(string_to_uncompress)
對經COMPRESS()函數緊縮後的字符串停止解緊縮。
47.UNCOMPRESSED_LENGTH(compressed_string)
前往緊縮字符串緊縮前的長度。
48.UNHEX(str)
履行從HEX(str)的反向操作。就是說,它將參數中的每對十六進制數字懂得為一個數字,並將其轉化為該數字代表的字符。
成果字符以二進制字符串的情勢前往。
49.UPPER(str)
前往字符串str, 和依據最新字符集映照轉化為年夜寫字母的字符 (默許為cp1252 Latin1).
50.形式婚配:通配符
% ------- 婚配任何數量的字符,乃至包含零字符
_ ------- 只能婚配一種字符
本義用‘/'
51.STRCMP(expr1,expr2)
若一切的字符串均雷同,則前往STRCMP(),若依據以後分類順序,第一個參數小於第二個,則前往 -1,其它情形前往 1 。
附:小提醒
MySQL需要時主動變換數字為字符串,而且反過去也如斯:
mysql> SELECT 1+"1"; -> 2mysql> SELECT CONCAT(2,' test'); -> '2 test'
假如你想要明白地變換一個數字到一個字符串,把它作為參數傳遞到CONCAT()。
假如字符串函數供給一個二進制字符串作為參數,成果字符串也是一個二進制字符串。被變換到一個字符串的數字被看成是一個二進制字符串。這僅影響比擬。
mysql 銜接字符串與SQL分歧
之前用SQL Server 銜接字符串是用“+”,如今數據庫用mysql,寫個累加兩個字段值SQL語句竟然不支撐"+",愁悶了半天在網上查下,才曉得mysql裡的+是數字相加的操作,銜接字符串是CONCAT函數
例:
mysql> select CONCAT('My', '_', '2001');
-> 'My_2001'