Clevere Möglichkeiten, eine SQL-Verkettungszeichenfolge zu verwenden
Strukturierte Abfragesprache (SQL) ist ein bemerkenswert leistungsfähiges Werkzeug, das voll von Funktionen ist. Nachdem Sie die wichtigsten SQL-Befehle beherrscht haben 13 Wichtigste SQL-Befehle, die jeder Programmierer wissen sollte 13 Wichtigste SQL-Befehle, die jeder Programmierer wissen sollte Jede große oder dynamische Website verwendet eine Datenbank auf irgendeine Weise und in Verbindung mit SQL (Structured Query Language). Die Möglichkeiten, Daten zu manipulieren, sind wirklich unendlich. Lesen Sie mehr, Sie können mit Ihrer SQL ein bisschen kreativer werden. Heute zeige ich Ihnen alles, was Sie über SQL-Verkettungszeichenfolgen wissen müssen.
Es gibt viele verschiedene SQL-Dialekte. Für alle diese Beispiele verwende ich die PostgreSQL-Variante.
Was ist Verkettung??
Verkettung bedeutet, zwei Dinge miteinander zu verbinden. Möglicherweise haben Sie es in einer Programmiersprache verwendet, um zwei Zeichenfolgen miteinander zu verbinden. Vielleicht haben Sie eine Vor- und Nachname-Variable, die Sie als vollständige Namensvariable zusammengefügt haben.
Verkettung ist eine sehr nützliche Möglichkeit, zwei Zeichenfolgen zu einer zu kombinieren. PHP verwendet einen Punkt, um Strings miteinander zu verbinden, während JavaScript und jQuery Ein grundlegender Leitfaden für JQuery für Javascript-Programmierer Ein grundlegender Leitfaden für JQuery für Javascript-Programmierer Wenn Sie ein Javascript-Programmierer sind, hilft Ihnen dieses Handbuch für JQuery beim Programmieren wie ein Ninja. Mehr lesen Verwenden Sie ein Pluszeichen.
Die Verkettung in SQL funktioniert genauso. Sie verwenden einen speziellen Operator, um zwei Dinge zu einem zu verbinden. Hier ist ein Beispiel in Pseudocode:
first_name = Joe last_name = Coburn vollständiger_name = erster_name + letzter_name
In Programmiersprachen macht Verketten das Lesen von Code einfacher. Wenn Ihr Code immer auf zwei Zeichenfolgen zugreifen muss, können Sie ihn leichter in Erinnerung rufen und die Länge des Codes reduzieren.
Während Variablen in SQL weniger verbreitet sind (aber immer noch verwendet werden), ist immer noch eine Verkettung erforderlich, um kombinierte Ergebnisse zurückzugeben oder Daten zu bearbeiten.
Wie verketten?
Verkettung ist sehr einfach in SQL. Während SQL eine gebräuchliche Sprache ist, implementieren einzelne Datenbankmodule Funktionen auf unterschiedliche Weise. Während alle diese Beispiele im PostgreSQL-Dialekt enthalten sind, ist es einfach, sie in andere Varianten zu übersetzen, indem Sie einfach im Web danach suchen “Verketten
Gehen wir zurück zu unserem Namensbeispiel, hier ist eine grundlegende wählen Abfrage:
SELECT Vorname, Nachname, E-Mail FROM Benutzer_Tabelle
Nichts komplexes hier, fügen wir also die Verkettung hinzu:
SELECT vorname || last_name AS vollständiger_name, E-Mail FROM benutzertabelle
Wie Sie sehen, hat diese Verkettung perfekt funktioniert, aber es gibt ein kleines Problem. Der resultierende vollständige Name wurde genau wie das Produkt beider Spalten zusammengefügt. Zwischen den Namen sollte ein Leerzeichen stehen!
Zum Glück ist es einfach zu beheben: einfach einen Abstand zwischen den beiden einschließen:
SELECT Vorname || "|| Nachname AS vollständiger Name, E-Mail FROM Benutzer_Tabelle
Dies sind grundlegende Beispiele, aber Sie sollten sehen, wie die Verkettung funktioniert. So einfach ist das! Der Rohrbediener (|) wird zweimal zwischen den Klauseln verwendet. Ihre SQL-Engine weiß, dass jeder Teil vor und nach diesem Symbol zusammengefügt und als ein Teil behandelt werden sollte. Seien Sie jedoch vorsichtig, wenn Sie den concat-Operator verwenden, aber nichts verketten, wird ein Fehler angezeigt.
Wie oben erwähnt, verwenden diese Beispiele die PostgreSQL-Variante von SQL. Andere Varianten verwenden möglicherweise einen anderen Operator oder sogar eine spezielle Funktion, die Sie aufrufen müssen. Es ist nicht wirklich wichtig Wie Sie verketten Strings, sofern Sie dies in der Art tun, wie es Ihre Datenbank-Engine erwartet.
Tiefer gehen
Nun, da Sie die Grundlagen kennen, betrachten wir einige ausführliche Beispiele und einige häufige Fallstricke.
Die meisten Datenbank-Engines enthalten eine Kombination aus Zeichenfolgen und Ganzzahlen, möglicherweise sogar Datumsangaben. Beim Verketten komplexer Typen wie Arrays treten normalerweise Probleme auf:
SELECT first_name || "|| last_name || ARRAY [123, 456] AS vollständiger Name, E-Mail FROM user_table
Dieser Code funktioniert nicht. Es ist nicht möglich, Strings mit komplexen Objekten wie Arrays zu kombinieren. Wenn Sie darüber nachdenken, was Sie tun müssen, können Sie oft einfachen Code schreiben, der funktioniert, anstatt komplexen, verrückten Code, der nicht ausgeführt werden kann.
Wenn Sie sorgfältig darüber nachgedacht haben, was Sie tun müssen, und immer noch nicht die SQL zum Laufen bringen kann, haben Sie dann überlegt, eine Programmiersprache zu verwenden? Als Software-Entwickler, der an Legacy-Code arbeitet, weiß ich, wie schmerzhaft es ist, SQL zu debuggen, dass jemand so viel Logik in seine Logik gesteckt hat. Es ist ein Wunder, dass er überhaupt läuft. Wenn Sie versuchen, Logik in SQL zu schreiben, wechseln Sie zu einer Programmierung sprache (es gibt viele einfache sprachen zum lernen 6 einfachste programmiersprachen zum lernen für anfänger 6 einfachste programmiersprachen zum lernen für anfänger Beim Programmieren lernen Sie, die richtige Sprache zu finden, ebenso wie den Erbauungsprozess. Hier sind die ersten sechs einfachste Programmiersprachen für Anfänger..
Verkettung funktioniert sehr gut für woher Aussagen auch:
SELECT first_name, last_name, email FROM users_table WHERE date_of_birth = ('DAY' || '/' || 'MONTH' || '/' || 'YEAR') :: date
Hier passiert einiges. In diesem Beispiel, TAG, MONAT, und JAHR sind Parameter, die von einem Skript übergeben wurden. Möglicherweise wurden diese per Code generiert oder von einem Benutzer eingegeben. Diese werden miteinander verkettet und dann in einen Datumstyp umgewandelt (mithilfe der PostgreSQL-Umsetzungs-Syntax) ::Datum).
Wenn Sie die Verkettung auf diese Weise verwenden, können Sie die einzelnen Teile eines Datums miteinander verketten, die dann als a verarbeitet werden können “echt” Datum, im Gegensatz zu einer Zeichenfolge. Vergessen Sie nicht, dass dieses grundlegende Beispiel nicht gegen die SQL-Injektion schützt. Was ist eine SQL-Injektion? [MakeUseOf erklärt] Was ist eine SQL-Injektion? [MakeUseOf erklärt] Die Welt der Internetsicherheit ist mit offenen Ports, Hintertüren, Sicherheitslücken, Trojanern, Würmern, Firewall-Sicherheitslücken und einer Reihe anderer Probleme geplagt, die uns jeden Tag auf Trab halten. Für Privatanwender… Lesen Sie mehr, verwenden Sie ihn also nicht ohne Änderung in einem Produktionscode.
Ein weiterer Fall, auf den man achten sollte, ist Null Werte (eine Nullzeichenfolge ist eine leere oder nicht vorhandene Zeichenfolge). Angesichts dieser Abfrage:
SELECT first_name || "|| NULL AS vollständiger Name, E-Mail FROM Benutzer_Tabelle
Diese Abfrage schlägt fehl. Dies liegt an der Art und Weise, wie die Verkettung intern in Ihrem Datenbankmodul codiert wird. Dieses Problem tritt möglicherweise nicht immer auf, aber es ist ein sehr häufiges Ereignis.
Wenn Sie der Meinung sind, dass die von Ihrer Abfrage zurückgegebenen Daten möglicherweise null sind, müssen Sie ein verwenden verschmelzen. Coalesce kann grob als gedacht werden “Wenn dies null ist, ersetzen Sie es durch diese andere Zeichenfolge oder Spalte”:
SELECT first_name || "|| COALESCE (NULL, 'ERROR NULL DATA') AS vollständiger Name, E-Mail FROM Benutzer_Tabelle
Jetzt wissen Sie, wie Sie die Verkettung in SQL verwenden. Was machen Sie damit? Werden Sie eine Website erstellen Eine Website erstellen: Für Anfänger Eine Website erstellen: Für Anfänger Heute werde ich Sie durch den Prozess der Erstellung einer kompletten Website von Grund auf führen. Mach dir keine Sorgen, wenn das schwierig klingt. Ich werde Sie bei jedem Schritt des Weges durch das Haus führen. Lesen Sie mehr und beleben Sie es mit SQL? Oder Sie benötigen einen statischen Standortgenerator. 7 Gründe, Ihr CMS aufzulösen und einen statischen Standortgenerator zu berücksichtigen. 7 Gründe, um Ihr CMS aufzulösen und einen statischen Standortgenerator in Betracht zu ziehen. Das Veröffentlichen einer Website war vielen Jahren für viele Benutzer schwierig. CMSs wie WordPress haben das geändert, aber sie können immer noch verwirrend sein. Eine andere Alternative ist ein statischer Standortgenerator. Weitere Informationen zum einfacheren Erstellen von Websites.
Was auch immer Sie tun, lassen Sie es uns in den Kommentaren wissen!
Erfahren Sie mehr über: Programmierung, SQL.