Strings an ein vorhandenes Feld in MySQL anhängen

Mehvish Ashiq 20 Juni 2023
Strings an ein vorhandenes Feld in MySQL anhängen

Heute werden wir lernen, String-Werte im MySQL-Feld mit den Funktionen CONCAT() und CONCAT_WS() zu verketten oder anzuhängen.

Verwenden Sie CONCAT() und CONCAT_WS(), um Zeichenfolgen an ein vorhandenes Feld in MySQL anzuhängen

Um mehr über CONCAT() und CONCAT_WS() zu erfahren, verwenden wir die folgenden Abfragen, um eine category-Tabelle mit zwei Feldern zu erstellen: category_id und category_code.

Beispielcode:

CREATE TABLE category(
    category_id INT,
    category_code VARCHAR(50)
);

INSERT INTO category (category_id, category_code)
VALUES
(1, 'Windows_1'),
(2, 'Windows_2'),
(3, 'Windows_1');

SELECT * FROM category;

AUSGANG:

+-------------+---------------+
| category_id | category_code |
+-------------+---------------+
|           1 | Windows_1     |
|           2 | Windows_2     |
|           3 | Windows_1     |
+-------------+---------------+
3 rows in set (0.00 sec)

Verwenden Sie CONCAT(), um Zeichenfolgen an ein vorhandenes Feld in MySQL anzuhängen

Nun verketten wir das Wort standard mit jedem Wert in der Spalte category_code, indem wir die Methode CONCAT() verwenden.

Beispielcode:

UPDATE category SET category_code = CONCAT(category_code, 'standard');

AUSGANG:

+-------------+-------------------+
| category_id | category_code     |
+-------------+-------------------+
|           1 | Windows_1standard |
|           2 | Windows_2standard |
|           3 | Windows_1standard |
+-------------+-------------------+
3 rows in set (0.02 sec)

Die Methode CONCAT() nimmt ein oder mehrere Argumente vom Typ String und verkettet sie zu einem String. Diese Funktion benötigt mindestens einen Parameter; andernfalls würde ein Fehler generiert werden.

Wenn der Ausdruck ein numerischer Wert oder eine nichtbinäre Zeichenfolge ist, gibt die Methode CONCAT() die binäre Zeichenfolge oder die nichtbinäre Zeichenfolge zurück. Wenn der Ausdruck eine NULL oder eine binäre Zeichenfolge ist, gibt die CONCAT()-Methode entsprechend NULL oder eine binäre Zeichenfolge zurück.

Die obige Ausgabe zeigt, dass das Wort standard ohne Trennzeichen angehängt wird. Um ein Trennzeichen hinzuzufügen, führen wir die Abfrage folgendermaßen aus.

Beispielcode:

UPDATE category SET category_code = CONCAT(category_code, '_','standard');

AUSGANG:

+-------------+--------------------+
| category_id | category_code      |
+-------------+--------------------+
|           1 | Windows_1_standard |
|           2 | Windows_2_standard |
|           3 | Windows_1_standard |
+-------------+--------------------+
3 rows in set (0.00 sec)

Angenommen, wir haben eine Zeichenfolge, die aus 3 Wörtern besteht, die wir mit einem Trennzeichen anhängen möchten, dann werden wir mit der Methode CONCAT() wie folgt vorgehen.

Beispielcode:

UPDATE category SET
category_code = CONCAT(category_code,'_','standard1','_','standard2','_', 'standard3');

AUSGANG:

+-------------+-----------------------------------------+
| category_id | category_code                           |
+-------------+-----------------------------------------+
|           1 | Windows_1_standard1_standard2_standard3 |
|           2 | Windows_2_standard1_standard2_standard3 |
|           3 | Windows_1_standard1_standard2_standard3 |
+-------------+-----------------------------------------+
3 rows in set (0.06 sec)

Denken Sie nun an 6 Wörter in einer Zeichenfolge, die Sie anhängen möchten. Der Code wäre nicht mehr sauber. Hier verwenden wir also die Funktion CONCAT_WS().

Verwenden Sie CONCAT_WS(), um Zeichenfolgen an ein vorhandenes Feld in MySQL anzuhängen

Beispielcode:

UPDATE category SET
category_code = CONCAT_WS('_',category_code,'standard1','standard2','standard3');

AUSGANG:

+-------------+-----------------------------------------+
| category_id | category_code                           |
+-------------+-----------------------------------------+
|           1 | Windows_1_standard1_standard2_standard3 |
|           2 | Windows_2_standard1_standard2_standard3 |
|           3 | Windows_1_standard1_standard2_standard3 |
+-------------+-----------------------------------------+
3 rows in set (0.00 sec)

Wie CONCAT() akzeptiert auch die Methode CONCAT_WS() String-Typ-Argumente. Das erste Argument ist das Trennzeichen, und die restlichen sind die Zeichenfolgenwerte, die wir anhängen möchten.

Diese Methode ignoriert den Ausdruck mit einem NULL-Wert und gibt einen NULL-Wert zurück, wenn das Trennzeichen NULL ist.

Mehvish Ashiq avatar Mehvish Ashiq avatar

Mehvish Ashiq is a former Java Programmer and a Data Science enthusiast who leverages her expertise to help others to learn and grow by creating interesting, useful, and reader-friendly content in Computer Programming, Data Science, and Technology.

LinkedIn GitHub Facebook

Verwandter Artikel - MySQL String