Kategorie: TSQL

TSQL kommaseperierter String in eine Tabelle umwandeln

Sample table: CREATE TABLE Testdata(    SomeID INT,    OtherID INT,    String VARCHAR(MAX)) INSERT Testdata SELECT 1,  9, ‚18,20,22‘INSERT Testdata SELECT 2,  8, ‚17,19‘INSERT Testdata SELECT 3,  7, ‚13,19,20‘INSERT Testdata SELECT 4,  6, “INSERT Testdata SELECT 9, 11, ‚1,2,3,4‘GO The query ;WITH tmp(SomeID, OtherID, DataItem, String) AS(    SELECT        SomeID,        OtherID,        LEFT(String, CHARINDEX(‚,‘, String + ‚,‘) – 1),        […]

Weiterlesen
JSON Abfragen (ab MS SQL Server 2016)

Prüfen ob das JSON Valide ist: JSON_VALUE() liefert einen Wert JSON_QUERY() gibt ein JSON-Object zurück OPENJSON() liefert eine Tabelle zurück Gibt eine Tabelle aller Hauptzweige in Result zurück. Wenn darunter kein Wert sondern wieder JSON steht wird das JSON-Object zurück gegeben. SELECT Name, Surname, JSON_VALUE(jsonCol, ‚$.info.address.PostCode‘) AS PostCode , JSON_VALUE(jsonCol, ‚$.info.address.“Address Line 1″‚) + ‚ […]

Weiterlesen
Equivalent zu Limit

Da es bis zum  Microsoft SQL Server 2012 kein Equivalent zrm MySQL Anweisung Limit gab musste man eine rekursive Abfrage in TSQL benutzen um die Funktionalität nachzubilden. Ein typisches Beispiel ist hier zu sehen: SELECT col1, col2FROM(   select col1, col2, ROW_NUMBER() OVER(ORDER BY col1) [rowNumber] from myTable)qWHERE rowNumber BETWEEN 2 and 25 Ab MS SQL […]

Weiterlesen
Datetime-Format in TSQL

Das konvertieren des Datetime-Formats in TSQL auf dem Microsoft SQL Server MSSQL GETDATE() gibt das aktuelle Systemdatum und Uhrzeit zurück Um nun verschiedene Teile des Systemdatum zu erhalten benutzen wir die CONVERT-Funktion mit dem 3. Parameter SELECT convert(varchar, GETDATE(), 100) — mon dd yyyy hh:mmAM (or PM) SELECT convert(varchar, GETDATE(), 101) — mm/dd/yyyy SELECT convert(varchar, […]

Weiterlesen