57 Stimmen

SQLite: String und Spalten verknüpfen mit SQLite (CONCAT)

Info von SmartUser | Letztes Update am 08.03.2021 | Erstellt am 26.05.2013

Problem: In MySQL lassen sich mit dem Befehl CONCAT die Inhalte aus mehreren Spalten miteinander kombinieren und sogar beliebige Strings hinzufügen. Beim Versuch, dies auch in SQLite zu probieren, kam es zu einer Fehlermeldung: SQLite kennt den Befehl CONCAT nicht. Dennoch lassen sich aber auch mit SQLite Strings und Spalten miteinander verknüpfen und gemeinsam als Ergebnis ausgeben.

Lösung: Der Verknüfen-Operator in SQLite ist ||. Wollen wir demnach die Spalten "col1" und "col2" aus der Tabelle "tab" im Ergebnis in einer Spalte ausgeben, können wir dazu folgende Query benutzen:

SELECT col1 || col2 FROM tab

So können beliebig viele Spalten miteinander verknüpft werden. Zusätzlich können auch direkt beliebige andere Zeichenketten hinzugefügt werden:

SELECT 'Spalte 1: ' || col1 || ', Spalte 2: ' || col2 FROM tab

Dies erzeugt einer Ausgabe der Form "Spalte 1: <Inhalt von col1>, Spalte 2: <Inhalt von col2>".

AntwortenPositivNegativDatumStimmen
00 Stimmen

Bei mehr als vier Werten gelingt es mir nicht???

Der erste Ausdruck (' TX=' || TX || ' FT=' || FT || ' THEMA=' || THEMA || ' MASSTAB=' || MASSTAB) kommt korrekt.

Der zweite Ausdruck (' TH=' || TH || ' TW=' || TW || ' AC=' || AC ) bringt immer <null>

Auch wenn ich in den ersten Ausdruck einen Wert mehr definiere wird dieser zu <null>

SQL-ANWEISUNG:

select (kat1 || ' \ ' || kat2 || ' \ ' || kat3) as KAT,( ';' || TYP || ';' ) as TP,tab2.name as LV, CO,LC,WT,LINESTYLESCALE, (' TX=' || TX || ' FT=' || FT || ' THEMA=' || THEMA || ' MASSTAB=' || MASSTAB) ,(' TH=' || TH || ' TW=' || TW || ' AC=' || AC ) from tab2,tab1 where (tab1.lv =tab2.id) ORDER BY kat1,kat2,kat3
21.10.2021 um 16:24

AntwortenPositiv Negativ
00 Stimmen

Kann es sein dass es nicht an der Anzahl sondern an den Anführungszeichen liegt?

Du schreibst ja ' TH=' || TH || ' ... - müsste es nicht ' TH=' || 'TH' ... || sein?
21.10.2021 um 16:30

Positiv Negativ
Antworten
Antworten

Über den Autor

AvatarDer Autor hat keine Kurzbeschreibung seines Profils angegeben.
Profil anzeigen

 

Ähnliche Themen

Wichtiger Hinweis

Bitte beachten Sie: Die Beiträge auf askingbox.de sind Beiträge von Nutzern und sollen keine professionelle Beratung ersetzen. Sie werden nicht von Unabhängigen geprüft und spiegeln nicht zwingend die Meinung von askingbox.de wieder. Mehr erfahren.

Jetzt mitmachen

Stellen Sie Ihre eigene Frage oder schreiben Sie Ihren eigenen Artikel auf askingbox.de. So gehts.