T-SQL Ninja #53

EOMONTH

Was ist EOMONTH? Datumsmanipulationen sind, wie wir bereits mehrfach im Verlauf des Jahres festgestellt hatten, immer mit Schmerzen für den geneigten Ninja verbunden. Deshalb gibt es auch zahlreiche Funktionen, die da helfen können. EOMONTH gehört auch in diese Kategorie und berechnet zu einem übergebenen Datum das Ende des jeweiligen Monats. Wie könnt ihr mit EOMONTH arbeiten? Fangen […]

T-SQL Ninja #51

RAND

Was ist RAND? Die RAND-Funktion liefert euch – wenig überraschend – Zufallszahlen und gehört auch zu den am häufigsten verwendeten Funktionen in T-SQL. Dabei ist die RAND-Funktion ein wenig speziell, weshalb wir uns im Folgenden ansehen wollen, wie sie sich in bestimmten Szenarien verhält. Wie könnt ihr mit RAND arbeiten? Beginnen wir damit, dass ihr eine einfache […]

T-SQL Ninja #50

SELECT FROM VALUES

Was tut SELECT FROM VALUES? Wann immer ihr eine kleine Tabelle brauchtet, die ihr beispielsweise für Joins oder ähnliches verwenden solltet, haben wir hier im Dojo mit temporären Tabellen (hashtables, #-Tabellen) gearbeitet. Der Nachteil daran ist, dass ihr diese Objekte, wenn ihr euer Skript mehrfach ausführen wollt, auch immer mit einem DROP TABLE IF EXISTS abräumen musstet, […]

T-SQL Ninja #49

CHOOSE

Was ist CHOOSE? CHOOSE gehört sicher zu den eher unbekannteren Funktionen im SQL Server, dabei fristet diese Funktion zu Unrecht ein Schattendasein, denn sie kann euch viele lästige Abfragen deutlich erleichtern. CHOOSE könnt ihr oft verwenden, um lange, komplexe CASE–WHEN-Anweisungen zu vereinfachen, nämlich immer dann, wenn es darum geht auf Basis einer Zahl ein Element aus einer Liste auszuwählen, […]

T-SQL Ninja #48

DATEDIFF

Was tut DATEDIFF? Heute widmen wir uns einer der bekanntesten und wirklich häufig verwendeten Funktionen im SQL Server: DATEDIFF. Die DATEDIFF-Funktion gehört zu den Funktionen für Zeit-Objekte, mit ihr könnt ihr die Zeit zwischen zwei Datetime-Zeitstempeln berechnen. Dabei steht es euch frei, den Abstand in Jahren, Monaten, Tagen, Stunden, Minuten, Sekunden, Millisekunden oder Nanosekunden zu bestimmen, einzig […]

T-SQL Ninja #47

COMPRESS

Was tut COMPRESS? Wenn ihr in einer Datenbank eine größere Menge an Daten liegen habt, die ihr nicht mehr benötigt, beispielsweise von gelöschten Datensätzen, die ihr archivieren möchtet, aber die in eurer Anwendung nicht mehr verwendet werden, dann wäre es doch schön, wenn diese Daten in komprimierter Form hinterlegt wären. Wie ihr das mit Hilfe […]

T-SQL Ninja #45

BULK INSERT

Was ist BULK INSERT? Wenn ihr größere Datenmengen in eine Datenbank bekommen wollt, lautet die Wunderwaffe im SQL Server-Umfeld natürlich SQL Server Integration Services. Wenn ihr das für eine SQL Datenbank in der Cloud machen möchtet, habt ihr erstmal keine SSIS Engine verfügbar, dafür müsst ihr eine Azure Data Factory mit einer Integration Services Runtime […]

T-SQL Ninja #44

MAXDOP

Was ist MAXDOP? Euch ist beim Ansehen von Ausführungsplänen im SQL Server sicher schon einmal aufgefallen, dass immer wieder an bestimmten Operationen zwei kleine Pfeile auf gelbem Grund auftreten (im SQL Server Management Studio) und die Operation „Parallelism (Gather Streams)“. Was das bedeutet ist, vereinfacht gesagt, dass der SQL Server an einigen Stellen entscheidet, bestimmte […]

T-SQL Ninja #43

SP_RENAME

Was ist SP_RENAME? Wenn ihr in eurer Datenbank Objekte habt, die ihr umbenennen möchtet, dann könnt ihr im SQL Server Management Studio mit Rechtsklick auf das Objekt eine Umbenennung durchführen. Wenn ihr das Umbenennen aber ein wenig kontrollierter und am besten noch verteilbar machen möchtet, dann kommt ihr um das Skripten des Vorgangs nicht herum […]