T-SQL Ninja #42

AT TIME ZONE

Was ist AT TIME ZONE? Wer kennt das nicht? Ihr seid in Seeheim Jugendheim und wollt euren Ninja-Kollegen in Kyoto anrufen, wisst aber gar nicht, wie spät es bei ihm gerade ist. Ihr könnt die lokale Zeit in Kyoto natürlich googeln, allerdings könnt ihr die Zeit in Tokyo Standard Time auch im SQL Server abfragen. […]

T-SQL Ninja #41

STRING_ESCAPE

Was tut STRING_ESCAPE? Ihr habt hier nun schon einige Funktionen zur Manipulation von Zeichenketten (Strings) kennengelernt. In diese Reihe passt auch STRING_ESCAPE. Die STRING_ESCAPE-Funktion ist eine Funktion, die bei einer Zeichenkette Sonderzeichen ersetzt, damit diese Zeichenkette an anderer Stelle verwendet werden kann. Ein klassisches Beispiel für das Escapen von Zeichenketten ist, dass ihr um SQL Injection-Attacken zu […]

T-SQL Ninja #40

STRING_SPLIT

Was tut STING_SPLIT? In den Wochen hattet ihr hier einige Möglichkeiten kennengelernt, um kommaseparierte Listen in SQL zu erzeugen, neben STUFF in Kombination mit SELECT FOR XML und STRING_AGG auch CONCAT_WS. In dieser Woche möchten wir den umgekehrten Weg gehen und eine Zeichenkette, die kommaseparierte Werte enthält in ihre Bestandteile zerlegen. Seit dem SQL Server 2016 gibt es in der relationalen Datenbankengine […]

T-SQL Ninja #39

TRANSLATE

Was ist TRANSLATE (nicht)? Leider ist TRANSLATE nicht die T-SQL Syntax als Frontend für die Cognitive Services Translator API. Das heißt ihr könnt die TRANSLATE-Funktion nicht verwenden, um eure Produktbeschreibungen in Suaheli zu übersetzen. Schade, doch dafür bräuchtet ihr die Common Language Runtime im SQL Server (CLR, vielleicht wäre das ja auch mal einen Ausflug ins Dojo wert…). […]

T-SQL Ninja #38

CONCAT und CONCAT_WS

Was tun CONCAT und CONCAT_WS? Die CONCAT-Funktion ist eine Funktion aus dem Bereich der Zeichenketten-Manipulation. Ähnlich wie ihr es schon bei STUFF und STRING_AGG kennengelernt hattet, verknüpfen diese Funktionen Zeichenketten miteinander. Anders als STRING_AGG und STUFF in Kombination mit SELECT FOR XML, aggregieren CONCAT und CONCAT_WS allerdings keine Zeilen, das heißt die Einträge, die zusammengefasst werden sollen, müssen bereits in Spalten vorliegen. Wie verwendet man CONCAT und CONCAT_WS? Sehen […]

T-SQL Ninja #37

COALESCE (und ein wenig ISNULL)

Was tut COALESCE? Angenommen ihr habt in eurer Datenbank mehrere Spalten einer Tabelle, die alle NULL-Werte enthalten dürfen. Nun möchtet ihr den Wert der ersten Spalte, wenn dieser aber nicht vorhanden ist, dann den Wert der zweiten Spalte, wenn dieser nicht vorhanden ist, dann denn Wert der dritten Spalte und so weiter… Es gibt nun immer […]

T-SQL Ninja #36

STRING_AGG

Was ist STRING_AGG? In der letzten Woche hattet ihr gesehen, wie ihr mit STUFF und SELECT FOR XML eine kommaseparierte Liste aus den Zeilen einer Tabelle erzeugen könnt. Seit dem SQL Server 2017 ist das mit der Einführung der STRING_AGG-Funktion noch einfacher geworden. Die STRING_AGG-Funktion konkateniert Zeichenketten und fügt ein Trennzeichen ein. Was könnt ihr mit STRING_AGG so machen? Erinnern wir […]

T-SQL Ninja #35

STUFF

Was ist STUFF? STUFF ist eine Funktion zur Manipulation von Zeichenketten. Die Funktion „stopft“ eine Zeichenkette in eine andere, daher der recht bildlich zu verstehende Name. Traditionell gehört String-Manipulation nicht unbedingt zu den großen Stärken von relationalen Datenbanken und der SQL-Syntax, STUFF gehört zu den Funktionen aus diesem Bereich, die euch, wenn ihr sie beherrscht das Leben deutlich […]

T-SQL Ninja #34

PERCENTILE_CONT

Was ist PERCENTILE_CONT? Beim letzten Mal hattet ihr im Dojo mit der PERCENTILE_DISC-Funktion gearbeitet. Diese Funktion hat euch immer genau den Wert in eurer Tabelle zurückgegeben, bei der ein bestimmtes Quantil erreicht wurde. Das heißt, sie hat auf der diskreten Menge der Daten operiert und einen bestimmten Wert aus dieser Menge herausgesucht, doch wie sieht das […]

T-SQL Ninja #33

PERCENTILE_DISC

Was ist PERCENTILE_DISC? Wie schon die in der letzten Woche vorgestellte CUME_DIST-Funktion, gehört auch PERCENTILE_DISC zu den statistischen Funktionen. Sie wurde im SQL Server 2012 eingeführt und berechnet Quantile. Wenn ihr das 0,5-Quantil einer Menge (oder auch „Stichprobe“, wenn wir bei der in der Statistik üblichen Begrifflichkeit bleiben wollen) versteht man denjenigen Wert, bei dem die Hälfte aller […]