Heim >Datenbank >MySQL-Tutorial >Ausführliche Erläuterung der MySQL-String-Funktionen (empfohlen)

Ausführliche Erläuterung der MySQL-String-Funktionen (empfohlen)

黄舟
黄舟Original
2016-12-15 16:42:421089Durchsuche

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)!


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn