Zum Hauptinhalt springen

Wie man einen Namen aus einer SQL-Datenbank ableitet

Die strukturierte SQL-Abfragesprache (Structured Query Language) ist eine spezielle Programmiersprache, die für die Arbeit mit Datenbanken verwendet wird. Es ermöglicht Ihnen, verschiedene Datenoperationen durchzuführen, z. B. Hinzufügen, Löschen, Ändern und Auswählen.

Zunächst müssen Sie die Tabelle bestimmen, in der die Benutzerdaten gespeichert sind. Angenommen, wir haben eine Tabelle mit dem Namen "users", die Spalten "first_name" (Vorname), "last_name" (Nachname) und "patronymic" (Vorname) enthält.

Um den Namen der Benutzer im gewünschten Format (Nachname Vorname Vorname) auszugeben, können wir den CONCAT-Operator verwenden, mit dem Sie die Spaltenwerte in einer einzigen Zeile kombinieren können. Die folgende SQL-Abfrage gibt beispielsweise den Benutzernamen der Benutzer aus:

Wie kann ich einen Namen in einer SQL-Abfrage in einer Zeile ausgeben

Sie können die CONCAT-Funktion oder den CONCATENATE-Operator verwenden, um den Nachnamen, den Vornamen und den zweiten Vornamen in einer Zeile zu kombinieren. Beide Methoden ermöglichen das Zusammenführen von Zeichenfolgen, wobei ihre Verwendung vom jeweiligen Datenbankverwaltungssystem abhängt.

SELECT CONCAT(last_name, ' ', first_name, ' ', middle_name) AS fio FROM Users;

In diesem Beispiel verwenden wir die CONCAT-Funktion, die mehrere Argumente als Zeichenfolgen akzeptiert und sie zu einer einzigen Zeichenfolge kombiniert. Innerhalb einer Funktion können wir auch String-Literale wie Leerzeichen oder Satzzeichen verwenden, um den Nachnamen, den Vornamen und den zweiten Vornamen zu trennen.

Mit dem AS fio-Design geben wir auch einen Aliasnamen für die neue Spalte ein, damit Sie später bequem darauf zugreifen können.

Auf diese Weise können Sie den Benutzernamen der Benutzer in einer SQL-Abfrage in einer Zeile mit der CONCAT-Funktion oder dem CONCATENATE-Operator ausgeben.

Mit Verkettungsfunktionen

Beispiel für die Verwendung der CONCAT-Funktion in MySQL:

SELECT CONCAT(last_name, ', ', first_name, ' ', middle_name) AS full_name FROM employees;

In diesem Beispiel kombinieren wir die Spaltenwerte last_name, first_name und middle_name mithilfe der CONCAT-Funktion. Das Ergebnis der Abfrage ist die Spalte full_name mit den Vornamen der Mitarbeiter, wobei der Vorname durch Kommas und Leerzeichen getrennt ist.

Teilen von SUBSTRING- und CONCAT-Funktionen

Mit der SUBSTRING-Funktion können Sie eine Teilzeichenfolge aus einer Zeichenfolge abrufen, und die CONCAT-Funktion besteht darin, mehrere Zeilen zu einer einzigen zu kombinieren.

Angenommen, eine Datenbank hat eine Spalte "fullname", die einen Vornamen im Format "Nachname Vorname" enthält. Um nur den Nachnamen auszugeben, können Sie die SUBSTRING-Funktion wie folgt verwenden:

SELECT SUBSTRING(fullname, 1, POSITION(' ' IN fullname)-1) AS ФамилияFROM table_name;

In diesem Fall wird die SUBSTRING-Funktion auf die Spalte "fullname" angewendet. Das erste Argument zeigt auf die Zeichenfolge, aus der die Teilzeichenfolge abgerufen werden soll. Das zweite Argument ist die Position, an der die Teilzeichenfolge beginnen soll, und das dritte Argument ist die Länge der Teilzeichenfolge. In unserem Fall möchten wir eine Teilzeichenfolge vom Anfang der Zeichenfolge bis zum ersten Leerzeichen erhalten, daher ist das zweite Argument 1 und das dritte Argument ist die Position des ersten Leerzeichens minus 1.

Sie können die CONCAT-Funktion verwenden, um den resultierenden Nachnamen mit dem Vor- und Vornamen zu kombinieren:

SELECT CONCAT(SUBSTRING(fullname, 1, POSITION(' ' IN fullname)-1), ' ', SUBSTRING(fullname, POSITION(' ' IN fullname)+1)) AS ФИОFROM table_name;

In diesem Fall verwenden wir die CONCAT-Funktion, um einen Nachnamen, ein Leerzeichen und eine Teilzeichenfolge zu kombinieren, beginnend an der Position nach dem ersten Leerzeichen. Dabei werden zwei Aufrufe der SUBSTRING-Funktion verwendet - der erste zum Abrufen des Nachnamens, der zweite zum Abrufen des Vornamens und des zweiten Vornamens.