Heim >Datenbank >MySQL-Tutorial >Ausführliche Erläuterung der MySQL-String-Funktionen (empfohlen)
1. ASCII
ASCII(str)
Gibt den ASCII-Codewert des Zeichens ganz links in der Zeichenfolge str zurück. Wenn str der leere String ist, wird 0 zurückgegeben. Wenn str NULL ist, wird NULL zurückgegeben.
2. ORD
ORD(str)
Wenn das Zeichen ganz links in der Zeichenfolge str ein Multibyte-Zeichen ist, übergeben Sie es im Format ((erstes Byte ASCII Code)* 256+(zweites Byte ASCII Code))[*256+drittes Byte ASCII code...] gibt den ASCII-Codewert des Zeichens zurück, um den Multibyte-Zeichencode zurückzugeben. Wenn das Zeichen ganz links kein Multibyte-Zeichen ist. Gibt denselben Wert zurück, der von der ASCII()-Funktion zurückgegeben wird.
3. CONV
CONV(N,from_base,to_base)
Konvertieren Sie Zahlen zwischen verschiedenen Zahlenbasen. Gibt die Zeichenfolgennummer der Zahl N zurück, transformiert von der Basis from_base zur Basis to_base, oder NULL, wenn ein Argument NULL ist. Der N-Parameter wird als Ganzzahl interpretiert, kann aber als Ganzzahl oder Zeichenfolge angegeben werden. Die kleinste Basis ist 2 und die größte Basis ist 36. Wenn to_base eine negative Zahl ist, wird N als vorzeichenbehaftete Zahl behandelt, andernfalls wird N als vorzeichenlose Zahl behandelt.
CONV arbeitet mit 64-Bit-Präzision.
mysql> select CONV("a",16,2); -> '1010' mysql> select CONV("6E",18,8); -> '172' mysql> select CONV(-17,10,-18); -> '-H' mysql> select CONV(10+"10"+'10'+0xa,10,10); -> '40'
4. BIN
BIN(n)
Gibt eine Zeichenfolgendarstellung des Binärwerts N zurück, wobei N ist eine lange Ganzzahl (BIGINT), die CONV(N,10,2) entspricht. Wenn N NULL ist, geben Sie NULL zurück.
5. OCT
OCT(N)
Gibt eine Zeichenfolgendarstellung des Oktalwerts N zurück, wobei N eine lange Ganzzahl ist, die CONV(N ,10, 8). Wenn N NULL ist, geben Sie NULL zurück.
6. HEX
HEX(N)
Gibt eine Zeichenfolgendarstellung des Hexadezimalwerts N zurück, wobei N eine lange Ganzzahl (BIGINT) ist, die CONV(N,10,16) entspricht. Wenn N NULL ist, geben Sie NULL zurück.
mysql> select HEX(255);
7. CHAR
CHAR(N,...)
CHAR() interpretiert Parameter als Ganzzahlen und gibt diese Ganzzahlen als Zeichenfolge zurück bestehend aus ASCII-Codezeichen. NULL-Werte werden übersprungen.
mysql> select CHAR(77,121,83,81,'76'); -> 'MySQL' mysql> select CHAR(77,77.3,'77.3'); -> 'MMM'
8. CONCAT/CONCAT_WS
•CONCAT(str1,str2,...)
Zurück String aus der Parameterverkettung. Wenn ein Argument NULL ist, wird NULL zurückgegeben. Kann mehr als 2 Parameter haben. Ein numerisches Argument wird in die entsprechende Zeichenfolgenform konvertiert.
mysql> select CONCAT('My', 'S', 'QL'); -> 'MySQL' mysql> select CONCAT('My', NULL, 'QL'); -> NULL mysql> select CONCAT(14.3); -> '14.3'
•CONCAT_WS(separator,str1,str2,...)
CONCAT_WS() stellt CONCAT mit Trennzeichen dar
ist eine Sonderform von CONCAT(). Der erste Parameter ist das Trennzeichen für die anderen Parameter. Die Position des Trennzeichens wird zwischen den beiden zu verkettenden Zeichenfolgen platziert. Das Trennzeichen kann eine Zeichenfolge oder ein anderer Parameter sein.
SELECT CONCAT_WS(";",id,title) FROM my_table LIMIT 100; SELECT CONCAT_WS(";",'aa','bb') FROM my_table
9. LENGTH/OCTET_LENGTH/CHAR_LENGTH/CHARACTER_LENGTH
LENGTH(str)/OCTET_LENGTH(str): Anzahl der Bytes
CHAR_LENGTH(str)/CHARACTER_LENGTH(str): Anzahl der Zeichen
10. LOCATE
Diese Funktion ist multibyte-zuverlässig.
LOCATE(substr,str)
Gibt die Position zurück, an der der Teilstring substr zum ersten Mal in der Zeichenfolge str erscheint. Wenn sich substr nicht in str befindet, wird 0 zurückgegeben.
LOCATE(substr, str ,pos)
Gibt die Position des ersten Vorkommens des Teilstrings substr im String str zurück, beginnend mit der Position pos. Wenn substr nicht in str ist, wird 0 zurückgegeben.
11. LPAD/RPAD
LPAD(str,len,padstr)
Gibt die Zeichenfolge str zurück und füllt sie mit der Zeichenfolge padstr auf der linken Seite, bis str len Zeichen lang ist.
RPAD(str,len,padstr)
Gibt den String str zurück, rechts aufgefüllt mit dem String padstr, bis str len Zeichen lang ist.
12. LELT/RIGHT
LEFT(str,len)
Gibt die am weitesten links stehenden Zeichen der Zeichenfolge str zurück.
RIGHT(str,len)
Gibt die am weitesten rechts stehenden len-Zeichen der Zeichenfolge str zurück.
13. SUBSTRING
SUBSTRING(str,pos,len)
Gibt einen Teilstring von len Zeichen aus dem String str zurück, beginnend mit Position pos .
SUBSTRING(str,pos)
Gibt einen Teilstring von der Startposition pos des Strings str zurück.
14. SUBSTRING_INDEX
SUBSTRING_INDEX(str,delim,count)
Gibt das Trennzeichen delim zurück, das im nächsten Vorkommen der Zeichenfolge str erscheint Teilzeichenfolge. Wenn die Anzahl positiv ist, wird das letzte Trennzeichen links zurückgegeben (Zählung von links).
alle Charaktere. Wenn count negativ ist, werden alle Zeichen rechts vom letzten Trennzeichen zurückgegeben (von rechts gezählt).
Diese Funktion ist für Multibytes zuverlässig.
mysql> select SUBSTRING_INDEX('www.mysql.com', '.', 2); -> 'www.mysql' mysql> select SUBSTRING_INDEX('www.mysql.com', '.', -2); -> 'mysql.com'
15. TRIM/LTRIM/RTRIM
TRIM([BOTH | LEADING | TRAILING] [remstr] FROM ] str)
Gibt die Zeichenfolge str zurück, wobei alle remstr-Präfixe oder -Suffixe entfernt wurden. Wenn keine Modifikatoren BOTH, LEADING oder TRAILING angegeben sind, wird BOTH angenommen. Wenn remstr nicht angegeben ist, werden Leerzeichen entfernt.
mysql> select TRIM(' bar '); -> 'bar' mysql> select TRIM(LEADING 'x' FROM 'xxxbarxxx'); -> 'barxxx' mysql> select TRIM(BOTH 'x' FROM 'xxxbarxxx'); -> 'bar' mysql> select TRIM(TRAILING 'xyz' FROM 'barxxyz'); -> 'barx'
LTRIM(str)
Gibt die Zeichenfolge str ohne führende Leerzeichen zurück.
RTRIM(str)
Gibt die Zeichenfolge str ohne nachgestellte Leerzeichen zurück.
16. SPACE
SPACE(N)
Gibt eine Zeichenfolge bestehend aus N Leerzeichen zurück.
Siebzehn, REPLACE
REPLACE(str,from_str,to_str)
Gibt den String str zurück, in dem alle Vorkommen des Strings from_str durch den String to_str ersetzt werden.
mysql> select REPLACE('www.mysql.com', 'w', 'Ww'); -> 'WwWwWw.mysql.com'
18. REPEAT
REPEAT(str,count)
Gibt ein Zeichen zurück, das aus der Zeichenfolge str, wiederholt countTimes mal string, besteht. wenn count
Neunzehn, RÜCKWÄRTS
REVERSE(str)
返回颠倒字符顺序的字符串str。
二十、INSERT
INSERT(str,pos,len,newstr)
返回字符串str,在位置pos起始的子串且len个字符长得子串由字符串newstr代替。
mysql> select INSERT('Quadratic', 3, 4, 'What'); -> 'QuWhattic'
二十一、ELT
ELT(N,str1,str2,str3,...)
如果N= 1,返回str1,如果N=
2,返回str2,等等。如果N小于1或大于参数个数,返回NULL。ELT()是FIELD()反运算。
二十二、FIELD
FIELD(str,str1,str2,str3,...)
返回str在str1, str2, str3,
...清单的索引。如果str没找到,返回0。FIELD()是ELT()反运算。
二十三、FIND_IN_SET
FIND_IN_SET(str,strlist)
如果字符串str在由N子串组成的表strlist之中,返回一个1到N的值。一个字符串表是被“,”分隔的子串组成的一个字符串。如果第一个参数是一个常数字符串并且第二个参数是一种类型为SET的列,FIND_IN_SET()函数被优化而使用位运算!如果str不是在strlist里面或如果strlist是空字符串,返回0。如果任何一个参数是NULL,返回NULL。如果第一个参数包含一个“,”,该函数将工作不正常。
二十四、MAKE_SET
MAKE_SET(bits,str1,str2,...)
返回一个集合
(包含由“,”字符分隔的子串组成的一个字符串),由相应的位在bits集合中的的字符串组成。str1对应于位0,str2对应位1,等等。在str1, str2,
...中的NULL串不添加到结果中。
mysql> SELECT MAKE_SET(1,'a','b','c'); -> 'a' mysql> SELECT MAKE_SET(1 | 4,'hello','nice','world'); -> 'hello,world' mysql> SELECT MAKE_SET(0,'a','b','c'); -> ''
二十五、EXPORT_SET
EXPORT_SET(bits,on,off,[separator,[number_of_bits])
返回一个字符串,在这里对于在“bits”中设定每一位,你得到一个“on”字符串,并且对于每个复位(reset)的位,你得到一个“off”字符串。每个字符串用“separator”分隔(缺省“,”),并且只有“bits”的“number_of_bits” (缺省64)位被使用。
二十六、LOWER/LCASE/UPPER/UCASE
LCASE(str)/LOWER(str) :返回字符串str,根据当前字符集映射(缺省是ISO-8859-1 Latin1)把所有的字符改变成小写。该函数对多字节是可靠的。
UCASE(str)/UPPER(str) :返回字符串str,根据当前字符集映射(缺省是ISO-8859-1
Latin1)把所有的字符改变成大写。该函数对多字节是可靠的。
二十七、LOAD_FILE
LOAD_FILE(file_name)
读入文件并且作为一个字符串返回文件内容。文件必须在服务器上,你必须指定到文件的完整路径名,而且你必须有file权限。文件必须所有内容都是可读的并且小于max_allowed_packet。如果文件不存在或由于上面原因之一不能被读出,函数返回NULL。
以上就是小编为大家带来的MySQL字符串函数详解(推荐)全部内容了,更多相关文章请关注PHP中文网(www.php.cn)!