Heim > Datenbank > MySQL-Tutorial > Hauptteil

Detaillierte Einführung in MySQL-Zeichenfunktionen

黄舟
Freigeben: 2017-02-27 13:19:59
Original
1082 Leute haben es durchsucht



CONCAT() und CONCAT_WS() Zeichenverkettung

mysql> SELECT CONCAT('mysql','5.6');
+-----------------------+
| CONCAT('mysql','5.6') |
+-----------------------+
| mysql5.6              |
+-----------------------+
1 row in set (0.09 sec)

mysql> SELECT CONCAT('mysql','-','5.6');
+---------------------------+
| CONCAT('mysql','-','5.6') |
+---------------------------+
| mysql-5.6                 |
+---------------------------+
1 row in set (0.00 sec)
Nach dem Login kopieren


Zum Beispiel: Verketten Sie den Vor- und Nachnamen des Benutzers zu einer Zeichenfolge

mysql> SELECT * FROM tdb_test;
+----+------------+-----------+
| id | first_name | last_name |
+----+------------+-----------+
|  1 | A          | B         |
|  2 | Jack       | Bob       |
|  3 | tom%       | 123       |
+----+------------+-----------+
3 rows in set (0.00 sec)

mysql> SELECT CONCAT(first_name,last_name) AS fullname FROM tdb_test;
+----------+
| fullname |
+----------+
| AB       |
| JackBob  |
| tom%123  |
+----------+
3 rows in set (0.00 sec)
Nach dem Login kopieren


CONCAT_WS( ) ist das Trennzeichen, gefolgt von den zu verbindenden Zeichen

mysql> SELECT CONCAT_WS('|','A','B','C');
+----------------------------+
| CONCAT_WS('|','A','B','C') |
+----------------------------+
| A|B|C                      |
+----------------------------+
1 row in set (0.00 sec)
mysql> SELECT CONCAT_WS('-','mysql','5.6');
+------------------------------+
| CONCAT_WS('-','mysql','5.6') |
+------------------------------+
| mysql-5.6                    |
+------------------------------+
1 row in set (0.00 sec)
Nach dem Login kopieren


FORMAT() Zahlenformatierung

mysql> SELECT FORMAT(12560.75,1);
+--------------------+
| FORMAT(12560.75,1) |
+--------------------+
| 12,560.8           |
+--------------------+
1 row in set (0.01 sec)

LOWER()和 UPPER()
mysql> SELECT LOWER('MySql');
+----------------+
| LOWER('MySql') |
+----------------+
| mysql          |
+----------------+
1 row in set (0.00 sec)
mysql> SELECT UPPER('MySql');
+----------------+
| UPPER('MySql') |
+----------------+
| MYSQL          |
+----------------+
1 row in set (0.00 sec)
Nach dem Login kopieren


LEFT() und RIGHT()

haben jeweils zwei Parameter, der erste ist die verwendete Zeichenfolge und der zweite dient dazu, die Anzahl von <🎜 zu erhalten >

, zum Beispiel die ersten beiden Ziffern von MySQL

mysql> SELECT LEFT(&#39;MySQL&#39;,2);
+-----------------+
| LEFT(&#39;MySQL&#39;,2) |
+-----------------+
| My              |
+-----------------+
1 row in set (0.00 sec)
Nach dem Login kopieren


, zum Beispiel die letzten beiden Ziffern von MySQL

mysql> SELECT RIGHT(&#39;MySQL&#39;,2);
+------------------+
| RIGHT(&#39;MySQL&#39;,2) |
+------------------+
| QL               |
+------------------+
1 row in set (0.00 sec)
Nach dem Login kopieren


LENGTH ermittelt die Stringlänge

mysql> SELECT LENGTH(&#39;MySQL&#39;);
+-----------------+
| LENGTH(&#39;MySQL&#39;) |
+-----------------+
|               5 |
+-----------------+
1 row in set (0.02 sec)
Nach dem Login kopieren


LTRIM,RTRIM,TRIM

Wenn Sie beispielsweise SELECT TRIM('mysql');

direkt verwenden, werden die Leerzeichen vor und nach mysql nur gelöscht, und RTRIM löscht nur die Leerzeichen Leerzeichen auf der rechten Seite.


Andere Verwendung: Verwenden Sie TRIM(), um bestimmte Zeichen auf der linken und rechten Seite zu löschen.

Zum Beispiel:

mysql> SELECT TRIM(LEADING &#39;?&#39; FROM &#39;??MySQL???&#39;);
+-------------------------------------+
| TRIM(LEADING &#39;?&#39; FROM &#39;??MySQL???&#39;) |
+-------------------------------------+
| MySQL???                            |
+-------------------------------------+
1 row in set (0.02 sec)
mysql> SELECT TRIM(TRAILING &#39;?&#39; FROM &#39;??MySQL???&#39;);
+--------------------------------------+
| TRIM(TRAILING &#39;?&#39; FROM &#39;??MySQL???&#39;) |
+--------------------------------------+
| ??MySQL                              |
+--------------------------------------+
1 row in set (0.00 sec)
mysql> SELECT TRIM(BOTH &#39;?&#39; FROM &#39;??MySQL???&#39;);
+----------------------------------+
| TRIM(BOTH &#39;?&#39; FROM &#39;??MySQL???&#39;) |
+----------------------------------+
| MySQL                            |
+----------------------------------+
1 row in set (0.01 sec)
Nach dem Login kopieren
Hinweis: TRIM() kann nur die führenden und folgenden Zeichen löschen, nicht jedoch die mittleren Zeichen, wie z. B. TRIM('My SQL'); kann nicht gelöscht werden. Verlieren.

REPLACE() String-Ersetzung

Ersetzen Sie beispielsweise das ?? in ??My??SQL??? Ersetzen Sie es durch eine leere Zeichenfolge

mysql> SELECT REPLACE(&#39;??My??SQL???&#39;,&#39;?&#39;,&#39;&#39;);
+--------------------------------+
| REPLACE(&#39;??My??SQL???&#39;,&#39;?&#39;,&#39;&#39;) |
+--------------------------------+
| MySQL                          |
+--------------------------------+
1 row in set (0.00 sec)
Nach dem Login kopieren


SUBSTRING(), um die in

enthaltenen Parameter abzufangen und von der Anzahl abzufangen Mehrere.

mysql> SELECT SUBSTRING(&#39;MySQL&#39;,1,2);
+------------------------+
| SUBSTRING(&#39;MySQL&#39;,1,2) |
+------------------------+
| My                     |
+------------------------+
1 row in set (0.00 sec)
Nach dem Login kopieren


Es ist zu beachten, dass im Gegensatz zu Programmiersprachen das erste Bit 1 und nicht 0 ist.

Wenn Sie nur mit der Nummer beginnen und nicht ein paar abfangen, wird sie bis zum Ende abgefangen.

mysql> SELECT SUBSTRING(&#39;MySQL&#39;,3);
+----------------------+
| SUBSTRING(&#39;MySQL&#39;,3) |
+----------------------+
| SQL                  |
+----------------------+
1 row in set (0.00 sec)
Nach dem Login kopieren


Die Position kann auch negativ sein (rückwärts gezählt)

mysql> SELECT SUBSTRING(&#39;MySQL&#39;,-1);
+-----------------------+
| SUBSTRING(&#39;MySQL&#39;,-1) |
+-----------------------+
| L                     |
+-----------------------+
1 row in set (0.04 sec)
Nach dem Login kopieren


Hinweis, nur die Die Startposition kann einen negativen Wert haben, aber die Abfanglänge darf keinen negativen Wert haben.

LIKE-Mustervergleich (häufig in Abfragen verwendet)

mysql> SELECT &#39;MySQL&#39; LIKE &#39;M%&#39;;
+-------------------+
| &#39;MySQL&#39; LIKE &#39;M%&#39; |
+-------------------+
|                 1 |
+-------------------+
1 row in set (0.00 sec)
Nach dem Login kopieren


% bezieht sich auf eine oder mehrere Ziffern

mysql> SELECT * FROM tdb_test;
+----+------------+-----------+
| id | first_name | last_name |
+----+------------+-----------+
|  1 | A          | B         |
|  2 | Jack       | Bob       |
|  3 | tom%       | 123       |
+----+------------+-----------+
3 rows in set (0.00 sec)
Nach dem Login kopieren


Zum Beispiel Benutzer abfragen, deren Namen o enthalten

mysql> SELECT * FROM tdb_test WHERE first_name LIKE &#39;%o%&#39;;
+----+------------+-----------+
| id | first_name | last_name |
+----+------------+-----------+
|  3 | tom%       | 123       |
+----+------------+-----------+
1 row in set (0.00 sec)
Nach dem Login kopieren


Zum Beispiel Benutzer abfragen, deren Namen enthalten % Benutzer

mysql> SELECT * FROM tdb_test WHERE first_name LIKE &#39;%%%&#39;;
+----+------------+-----------+
| id | first_name | last_name |
+----+------------+-----------+
|  1 | A          | B         |
|  2 | Jack       | Bob       |
|  3 | tom%       | 123       |
+----+------------+-----------+
3 rows in set (0.00 sec)
Nach dem Login kopieren


发现显示的是所有查询结果。因为mysql会认为上述的%都为通配符。正确操作如下

mysql> SELECT * FROM tdb_test WHERE first_name LIKE &#39;%1%%&#39; ESCAPE &#39;1&#39;;
+----+------------+-----------+
| id | first_name | last_name |
+----+------------+-----------+
|  3 | tom%       | 123       |
+----+------------+-----------+
1 row in set (0.00 sec)
Nach dem Login kopieren


注:%:任意个字符.

_:任意一个字符。

 以上就是MySQL字符函数的详细介绍的内容,更多相关内容请关注PHP中文网(www.php.cn)!






Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!