SQL-Befehle

Aus Sicherheits- und Stabilitätsgründen erlauben wir nur eine sorgfältig ausgewählte Sammlung von SQL-Funktionen. Dies stellt sicher, dass Abfragen keine Daten ändern, auf Systemressourcen zugreifen oder die Daten anderer Benutzer beeinträchtigen können. Die unten aufgeführten Funktionen wurden getestet und für die Verwendung in der Polyteia-Plattform freigegeben.

Falls Sie zusätzliche SQL-Funktionen für Ihren Anwendungsfall benötigen, wenden Sie sich gerne über unsere Hilfe- und Support-Seite an uns und wir prüfen Ihre Anfrage gerne.

Mathematische Funktionen

ABS - Absoluter Wert

Gibt den absoluten (positiven) Wert einer Zahl zurück.

Syntax: ABS(zahl)

Beispiel:

SELECT ABS(-25) AS ergebnis
FROM '{{ds_ihr_datensatz}}' 
LIMIT 10
-- Gibt zurück: 25
CEIL - Auf nächste ganze Zahl aufrunden

Rundet eine Zahl auf die nächste ganze Zahl auf.

Syntax: CEIL(zahl)

Beispiel:

SELECT CEIL(4.3) AS ergebnis
FROM '{{ds_ihr_datensatz}}' 
LIMIT 10
-- Gibt zurück: 5
FLOOR - Auf nächste ganze Zahl abrunden

Rundet eine Zahl auf die nächste ganze Zahl ab.

Syntax: FLOOR(zahl)

Beispiel:

SELECT FLOOR(4.8) AS ergebnis
FROM '{{ds_ihr_datensatz}}' 
LIMIT 10
-- Gibt zurück: 4
ROUND - Auf ganze Zahl oder Dezimalstellen runden

Rundet eine Zahl auf die nächste ganze Zahl oder bestimmte Dezimalstellen.

Syntax: ROUND(zahl, [dezimalstellen])

Beispiel:

SELECT ROUND(4.567, 2) AS ergebnis
FROM '{{ds_ihr_datensatz}}' 
LIMIT 10
-- Gibt zurück: 4.57
SQRT - Quadratwurzel

Gibt die Quadratwurzel einer Zahl zurück.

Syntax: SQRT(zahl)

Beispiel:

SELECT SQRT(16) AS ergebnis
FROM '{{ds_ihr_datensatz}}' 
LIMIT 10
-- Gibt zurück: 4
EXP - Exponentialfunktion

Gibt e hoch der angegebenen Zahl zurück.

Syntax: EXP(zahl)

Beispiel:

SELECT EXP(1) AS ergebnis
FROM '{{ds_ihr_datensatz}}' 
LIMIT 10
-- Gibt zurück: 2.718281828459045
LN - Natürlicher Logarithmus

Gibt den natürlichen Logarithmus einer Zahl zurück.

Syntax: LN(zahl)

Beispiel:

SELECT LN(2.718281828459045) AS ergebnis
FROM '{{ds_ihr_datensatz}}' 
LIMIT 10
-- Gibt zurück: 1
LOG - Logarithmus

Gibt den Logarithmus einer Zahl zu einer bestimmten Basis zurück.

Syntax: LOG(basis, zahl)

Beispiel:

SELECT LOG(10, 100) AS ergebnis
FROM '{{ds_ihr_datensatz}}' 
LIMIT 10
-- Gibt zurück: 2
POWER - Potenzieren

Gibt eine Zahl hoch einer anderen Zahl zurück.

Syntax: POWER(basis, exponent)

Beispiel:

SELECT POWER(2, 3) AS ergebnis
FROM '{{ds_ihr_datensatz}}' 
LIMIT 10
-- Gibt zurück: 8
MOD - Modulo-Operation

Gibt den Rest einer Division zurück.

Syntax: MOD(dividend, divisor)

Beispiel:

SELECT MOD(10, 3) AS ergebnis
FROM '{{ds_ihr_datensatz}}' 
LIMIT 10
-- Gibt zurück: 1

Aggregatfunktionen

COUNT - Zeilen zählen

Zählt die Anzahl der Zeilen oder Nicht-NULL-Werte.

Syntax: COUNT(*) oder COUNT(spalte)

Beispiel:

SELECT COUNT(*) AS gesamtzeilen
FROM '{{ds_ihr_datensatz}}' 
LIMIT 10
COUNT_DISTINCT - Eindeutige Werte zählen

Zählt die Anzahl der eindeutigen (verschiedenen) Werte in einer Spalte.

Syntax: COUNT_DISTINCT(spalte)

Beispiel:

SELECT COUNT_DISTINCT(abteilung) AS eindeutige_abteilungen
FROM '{{ds_ihr_datensatz}}' 
LIMIT 10
COUNT_IF - Bedingte Anzahl

Zählt Zeilen, die eine bestimmte Bedingung erfüllen.

Syntax: COUNT_IF(bedingung)

Beispiel:

SELECT COUNT_IF(alter > 30) AS erwachsene_ueber_30
FROM '{{ds_ihr_datensatz}}' 
LIMIT 10
SUM - Werte summieren

Berechnet die Summe numerischer Werte.

Syntax: SUM(spalte)

Beispiel:

SELECT SUM(gehalt) AS gesamtgehalt
FROM '{{ds_ihr_datensatz}}' 
LIMIT 10
AVG - Durchschnittswert

Berechnet den Durchschnitt numerischer Werte.

Syntax: AVG(spalte)

Beispiel:

SELECT AVG(alter) AS durchschnittsalter
FROM '{{ds_ihr_datensatz}}' 
LIMIT 10
MIN - Minimalwert

Gibt den kleinsten Wert in einer Spalte zurück.

Syntax: MIN(spalte)

Beispiel:

SELECT MIN(gehalt) AS niedrigstes_gehalt
FROM '{{ds_ihr_datensatz}}' 
LIMIT 10
MAX - Maximalwert

Gibt den größten Wert in einer Spalte zurück.

Syntax: MAX(spalte)

Beispiel:

SELECT MAX(gehalt) AS hoechstes_gehalt
FROM '{{ds_ihr_datensatz}}' 
LIMIT 10
STRING_AGG - Strings verketten

Verkettet String-Werte mit einem bestimmten Trennzeichen.

Syntax: STRING_AGG(spalte, trennzeichen)

Beispiel:

SELECT STRING_AGG(name, ', ') AS alle_namen
FROM '{{ds_ihr_datensatz}}' 
LIMIT 10
-- Gibt zurück: "Hans, Maria, Peter"
ANY_VALUE - Beliebigen Wert erhalten

Gibt einen beliebigen Wert aus einer Gruppe zurück (nützlich mit GROUP BY).

Syntax: ANY_VALUE(spalte)

Beispiel:

SELECT abteilung, ANY_VALUE(leiter) AS beispiel_leiter
FROM '{{ds_ihr_datensatz}}' 
GROUP BY abteilung
LIMIT 10

Typkonvertierungsfunktionen

CAST - Datentypen konvertieren

Konvertiert einen Wert von einem Datentyp zu einem anderen.

Syntax: CAST(wert AS datentyp)

Beispiel:

SELECT CAST('123' AS INTEGER) AS zahl
FROM '{{ds_ihr_datensatz}}' 
LIMIT 10
-- Gibt zurück: 123

String-Funktionen

SUBSTR - Teiltext aus String extrahieren

Extrahiert einen Teil eines Strings ab einer bestimmten Position.

Syntax: SUBSTR(string, start, länge)

Beispiel:

SELECT SUBSTR("Hallo Welt", 1, 5) AS ergebnis
FROM '{{ds_ihr_datensatz}}' 
LIMIT 10
-- Gibt zurück: "Hallo"
RIGHT - Zeichen von rechts erhalten

Gibt die rechtesten Zeichen eines Strings zurück.

Syntax: RIGHT(string, länge)

Beispiel:

SELECT RIGHT("Hallo Welt", 4) AS ergebnis
FROM '{{ds_ihr_datensatz}}' 
LIMIT 10
-- Gibt zurück: "Welt"
REPLACE - Text in String ersetzen

Ersetzt alle Vorkommen eines Teilstrings durch einen anderen Teilstring.

Syntax: REPLACE(string, alter_text, neuer_text)

Beispiel:

SELECT REPLACE("Hallo Welt", "Welt", "DuckDB") AS ergebnis
FROM '{{ds_ihr_datensatz}}' 
LIMIT 10
-- Gibt zurück: "Hallo DuckDB"
REGEXP_REPLACE - Ersetzen mit regulären Ausdrücken

Ersetzt Text mithilfe von regulären Ausdrücken für erweiterte Textmanipulation.

Syntax: REGEXP_REPLACE(string, muster, ersetzung)

Beispiel:

-- Konvertiere TT.MM.JJJJ zu JJJJ-MM-TT Format
SELECT REGEXP_REPLACE("19.02.2025", '(\d{2})\.(\d{2})\.(\d{4})', '\3-\2-\1') AS ergebnis
FROM '{{ds_ihr_datensatz}}' 
LIMIT 10
-- Gibt zurück: "2025-02-19"
SUBSTRING - Alternative zu SUBSTR

Extrahiert einen Teil eines Strings ab einer bestimmten Position (identisch mit SUBSTR).

Syntax: SUBSTRING(string, start, länge)

Beispiel:

SELECT SUBSTRING("Hallo Welt", 1, 5) AS ergebnis
FROM '{{ds_ihr_datensatz}}' 
LIMIT 10
-- Gibt zurück: "Hallo"
TRIM - Leerzeichen entfernen

Entfernt Leerzeichen am Anfang und Ende eines Strings.

Syntax: TRIM(string) oder TRIM(zeichen FROM string)

Beispiel:

SELECT TRIM("  Hallo Welt  ") AS ergebnis
FROM '{{ds_ihr_datensatz}}' 
LIMIT 10
-- Gibt zurück: "Hallo Welt"
RTRIM - Leerzeichen rechts entfernen

Entfernt Leerzeichen am Ende (rechts) eines Strings.

Syntax: RTRIM(string)

Beispiel:

SELECT RTRIM("Hallo Welt   ") AS ergebnis
FROM '{{ds_ihr_datensatz}}' 
LIMIT 10
-- Gibt zurück: "Hallo Welt"
UPPER - In Großbuchstaben konvertieren

Konvertiert alle Buchstaben eines Strings in Großbuchstaben.

Syntax: UPPER(string)

Beispiel:

SELECT UPPER("Hallo Welt") AS ergebnis
FROM '{{ds_ihr_datensatz}}' 
LIMIT 10
-- Gibt zurück: "HALLO WELT"
LOWER - In Kleinbuchstaben konvertieren

Konvertiert alle Buchstaben eines Strings in Kleinbuchstaben.

Syntax: LOWER(string)

Beispiel:

SELECT LOWER("HALLO WELT") AS ergebnis
FROM '{{ds_ihr_datensatz}}' 
LIMIT 10
-- Gibt zurück: "hallo welt"
CHAR_LENGTH - Anzahl Zeichen ermitteln

Gibt die Anzahl der Zeichen in einem String zurück.

Syntax: CHAR_LENGTH(string)

Beispiel:

SELECT CHAR_LENGTH("Hallo") AS ergebnis
FROM '{{ds_ihr_datensatz}}' 
LIMIT 10
-- Gibt zurück: 5
LENGTH - Länge des Strings ermitteln

Gibt die Länge eines Strings zurück (identisch mit CHAR_LENGTH).

Syntax: LENGTH(string)

Beispiel:

SELECT LENGTH("Hallo Welt") AS ergebnis
FROM '{{ds_ihr_datensatz}}' 
LIMIT 10
-- Gibt zurück: 10
CONCAT - Strings verketten

Verkettet mehrere Strings zu einem String.

Syntax: CONCAT(string1, string2, ...)

Beispiel:

SELECT CONCAT("Hallo", " ", "Welt") AS ergebnis
FROM '{{ds_ihr_datensatz}}' 
LIMIT 10
-- Gibt zurück: "Hallo Welt"
REVERSE - String umkehren

Kehrt die Reihenfolge der Zeichen in einem String um.

Syntax: REVERSE(string)

Beispiel:

SELECT REVERSE("Hallo") AS ergebnis
FROM '{{ds_ihr_datensatz}}' 
LIMIT 10
-- Gibt zurück: "ollaH"
REPEAT - String wiederholen

Wiederholt einen String eine bestimmte Anzahl von Malen.

Syntax: REPEAT(string, anzahl)

Beispiel:

SELECT REPEAT("Ha", 3) AS ergebnis
FROM '{{ds_ihr_datensatz}}' 
LIMIT 10
-- Gibt zurück: "HaHaHa"
RPAD - String rechts auffüllen

Füllt einen String rechts mit Zeichen auf eine bestimmte Länge auf.

Syntax: RPAD(string, länge, füllzeichen)

Beispiel:

SELECT RPAD("Test", 8, "-") AS ergebnis
FROM '{{ds_ihr_datensatz}}' 
LIMIT 10
-- Gibt zurück: "Test----"
STARTS_WITH - Prüfen ob String mit Text beginnt

Prüft, ob ein String mit einem bestimmten Text beginnt.

Syntax: STARTS_WITH(string, präfix)

Beispiel:

SELECT STARTS_WITH("Hallo Welt", "Hallo") AS ergebnis
FROM '{{ds_ihr_datensatz}}' 
LIMIT 10
-- Gibt zurück: true
ENDS_WITH - Prüfen ob String mit Text endet

Prüft, ob ein String mit einem bestimmten Text endet.

Syntax: ENDS_WITH(string, suffix)

Beispiel:

SELECT ENDS_WITH("Hallo Welt", "Welt") AS ergebnis
FROM '{{ds_ihr_datensatz}}' 
LIMIT 10
-- Gibt zurück: true
POSITION - Position eines Teilstrings finden

Gibt die Position des ersten Vorkommens eines Teilstrings zurück.

Syntax: POSITION(teilstring IN string)

Beispiel:

SELECT POSITION('Welt' IN 'Hallo Welt') AS ergebnis
FROM '{{ds_ihr_datensatz}}' 
LIMIT 10
-- Gibt zurück: 7
STRPOS - Alternative Position-Funktion

Gibt die Position des ersten Vorkommens eines Teilstrings zurück (alternative Syntax).

Syntax: STRPOS(string, teilstring)

Beispiel:

SELECT STRPOS("Hallo Welt", "Welt") AS ergebnis
FROM '{{ds_ihr_datensatz}}' 
LIMIT 10
-- Gibt zurück: 7
INSTR - Position eines Teilstrings finden

Gibt die Position des ersten Vorkommens eines Teilstrings zurück (weitere alternative Syntax).

Syntax: INSTR(string, teilstring)

Beispiel:

SELECT INSTR("Hallo Welt", "Welt") AS ergebnis
FROM '{{ds_ihr_datensatz}}' 
LIMIT 10
-- Gibt zurück: 7
SPLIT_PART - Teil aus aufgeteiltem String extrahieren

Teilt einen String auf und gibt das Element an der angegebenen Position zurück.

Syntax: SPLIT_PART(string, trennzeichen, position)

Beispiel:

SELECT SPLIT_PART("Apfel,Banane,Kirsche", ",", 2) AS ergebnis
FROM '{{ds_ihr_datensatz}}' 
LIMIT 10
-- Gibt zurück: "Banane"

Datum- und Zeit-Funktionen

DATE_FORMAT - Datum als String formatieren

Formatiert einen Datumswert als String mit bestimmtem Format.

Syntax: DATE_FORMAT(datum, format)

Beispiel:

SELECT DATE_FORMAT(CURRENT_DATE, '%d/%m/%Y') AS formatiertes_datum
FROM '{{ds_ihr_datensatz}}' 
LIMIT 10
DATE_PART - Teil des Datums extrahieren

Extrahiert einen bestimmten Teil aus einem Datum (Jahr, Monat, Tag, etc.).

Syntax: DATE_PART(teil, datum)

Beispiel:

SELECT DATE_PART('year', CURRENT_DATE) AS aktuelles_jahr
FROM '{{ds_ihr_datensatz}}' 
LIMIT 10
DATE_TRUNC - Datum auf bestimmte Genauigkeit kürzen

Kürzt ein Datum auf eine bestimmte Genauigkeitsstufe (Jahr, Monat, Tag, Stunde, etc.).

Syntax: DATE_TRUNC(genauigkeit, datum)

Beispiel:

SELECT DATE_TRUNC('day', STRPTIME("2025-02-19 14:30:00", '%Y-%m-%d %H:%M:%S')) AS ergebnis
FROM '{{ds_ihr_datensatz}}' 
LIMIT 10
-- Gibt zurück: "2025-02-19 00:00:00"
STRPTIME - String zu Datum/Zeit konvertieren

Konvertiert einen String zu einem Datum/Zeit-Wert unter Verwendung eines bestimmten Formatmusters.

Syntax: STRPTIME(string, format)

Häufige Formatcodes:

  • %Y - 4-stelliges Jahr

  • %m - Monat (01-12)

  • %d - Tag (01-31)

  • %H - Stunde (00-23)

  • %M - Minute (00-59)

Beispiel:

-- Deutsche Datumsformat parsen
SELECT STRPTIME("19.02.2025 10:44", '%d.%m.%Y %H:%M') AS ergebnis
FROM '{{ds_ihr_datensatz}}' 
LIMIT 10
-- Gibt zurück: 2025-02-19 10:44:00
STRFTIME - Datum/Zeit zu String formatieren

Konvertiert ein Datum/Zeit-Wert zu einem String unter Verwendung eines bestimmten Formatmusters.

Syntax: STRFTIME(datum, format)

Beispiel:

SELECT STRFTIME(CURRENT_DATE, '%d.%m.%Y') AS ergebnis
FROM '{{ds_ihr_datensatz}}' 
LIMIT 10
-- Gibt aktuelles Datum im TT.MM.JJJJ Format zurück
SPLIT - String in Array aufteilen

Teilt einen String in ein Array mit einem Trennzeichen auf.

Syntax: SPLIT(string, trennzeichen)

Beispiel:

SELECT SPLIT('Apfel,Banane,Kirsche', ',') AS frucht_array
FROM '{{ds_ihr_datensatz}}' 
LIMIT 10
-- Gibt zurück: ['Apfel', 'Banane', 'Kirsche']
YEAR - Jahr aus Datum extrahieren

Extrahiert das Jahr aus einem Datumswert.

Syntax: YEAR(datum)

Beispiel:

SELECT YEAR(CURRENT_DATE) AS aktuelles_jahr
FROM '{{ds_ihr_datensatz}}' 
LIMIT 10

Array-Funktionen

UNNEST - Array in Zeilen erweitern

Konvertiert ein Array in einzelne Zeilen, mit einer Zeile pro Array-Element.

Syntax: UNNEST(array)

Beispiel:

SELECT UNNEST(['Apfel', 'Banane', 'Kirsche']) AS frucht
FROM '{{ds_ihr_datensatz}}' 
LIMIT 10
-- Gibt drei Zeilen zurück: "Apfel", "Banane", "Kirsche"
ARRAY_LENGTH - Array-Größe ermitteln

Gibt die Anzahl der Elemente in einem Array zurück.

Syntax: ARRAY_LENGTH(array)

Beispiel:

SELECT ARRAY_LENGTH(['Apfel', 'Banane', 'Kirsche']) AS array_groesse
FROM '{{ds_ihr_datensatz}}' 
LIMIT 10
-- Gibt zurück: 3
CONTAINS - Prüfen ob Array Wert enthält

Prüft, ob ein Array einen bestimmten Wert enthält.

Syntax: CONTAINS(array, wert)

Beispiel:

SELECT CONTAINS(['Apfel', 'Banane', 'Kirsche'], 'Banane') AS hat_banane
FROM '{{ds_ihr_datensatz}}' 
LIMIT 10
-- Gibt zurück: true

Hilfsfunktionen

NULLIF - NULL zurückgeben wenn Werte gleich sind

Gibt NULL zurück, wenn zwei Werte gleich sind, ansonsten den ersten Wert.

Syntax: NULLIF(wert1, wert2)

Beispiel:

SELECT NULLIF(gehalt, 0) AS nicht_null_gehalt
FROM '{{ds_ihr_datensatz}}' 
LIMIT 10
-- Gibt NULL zurück wenn Gehalt 0 ist, ansonsten das Gehalt

Operatoren

|| - String-Verkettung

Verkettet zwei oder mehr Strings miteinander.

Syntax: string1 || string2

Beispiel:

SELECT vorname || ' ' || nachname AS vollname
FROM '{{ds_ihr_datensatz}}' 
LIMIT 10
IN - Prüfen ob Wert in Liste existiert

Prüft, ob ein Wert in einer Liste von Werten existiert.

Syntax: spalte IN (wert1, wert2, wert3)

Beispiel:

SELECT * 
FROM '{{ds_ihr_datensatz}}' 
WHERE abteilung IN ('Vertrieb', 'Marketing', 'IT')
LIMIT 10

Räumliche Funktionen (Geospatial)

Hinweis: Diese Funktionen sind für die Arbeit mit geografischen Daten und räumlichen Operationen verfügbar.

ST_AREA - Fläche einer Geometrie berechnen

Berechnet die Fläche eines Polygons oder einer anderen 2D-Geometrie.

Syntax: ST_AREA(geometrie)

Beispiel:

SELECT ST_AREA(polygon_spalte) AS flaeche_qm
FROM '{{ds_ihr_datensatz}}' 
LIMIT 10
ST_DISTANCE - Entfernung zwischen Geometrien berechnen

Berechnet die Entfernung zwischen zwei Geometrien.

Syntax: ST_DISTANCE(geometrie1, geometrie2)

Beispiel:

SELECT ST_DISTANCE(punkt1, punkt2) AS entfernung_m
FROM '{{ds_ihr_datensatz}}' 
LIMIT 10
ST_CONTAINS - Prüfen ob Geometrie eine andere enthält

Prüft, ob eine Geometrie eine andere Geometrie vollständig enthält.

Syntax: ST_CONTAINS(geometrie1, geometrie2)

Beispiel:

SELECT ST_CONTAINS(polygon, punkt) AS punkt_im_polygon
FROM '{{ds_ihr_datensatz}}' 
LIMIT 10
ST_INTERSECTS - Prüfen ob Geometrien sich überschneiden

Prüft, ob sich zwei Geometrien überschneiden (überlappen oder Raum teilen).

Syntax: ST_INTERSECTS(geometrie1, geometrie2)

Beispiel:

SELECT ST_INTERSECTS(polygon1, polygon2) AS polygone_ueberlappen
FROM '{{ds_ihr_datensatz}}' 
LIMIT 10
ST_POINT - Punkt-Geometrie erstellen

Erstellt eine Punkt-Geometrie aus X- und Y-Koordinaten.

Syntax: ST_POINT(x, y)

Beispiel:

SELECT ST_POINT(laengengrad, breitengrad) AS standort_punkt
FROM '{{ds_ihr_datensatz}}' 
LIMIT 10

Für eine vollständige Liste der räumlichen Funktionen siehe die DuckDB Spatial Extension Dokumentation.

Zuletzt aktualisiert

War das hilfreich?