MS-SQL Queries
MS SQL Query Beispiele kurz notiert ...
Alle Einträge einer Tabelle anzeigen
SELECT * FROM Table
Bestimmte Spalten einer Tabelle anzeigen
SELECT Spaltenname1,Spaltenname2 FROM Table
Spalten mit einem anderen Namen präsentieren
SELECT Spaltenname1 AS Spalte1Alternativ,Spaltenname2 AS Spalte1Alternativ FROM Table
Einträge filtern
SELECT * FROM Table where column = 'Wert'
Einträge der letzten x Tage
als Beispiel Einträge der letzten 3 Tage, bei denen updated_at maximal 3 Tage alt ist:
Testen mittels Select, ohne Tabelle:
select dateadd(day,-3,getdate())
Antwort, wenn das Datum aktuell 2020-06-10 20:00:00.783 ist:
2020-06-07 20:00:00.783
Einsatz mit where auf eine Tabelle:
select * from ??? where updated_at > dateadd(day,-3,getdate())
Werte abhängig von bestimmten Kriterien CASE WHEN
Als Beispiel eine Tabelle die in der Spalte "myDate" Werte mit z.B. 2020-01, 2020-02 enthält:
SELECT Spaltenname1 AS Spalte1Alternativ, CASE WHEN SUBSTRING(myDate, 6, 7) = '01' THEN 'Q1' WHEN SUBSTRING(myDate, 6, 7) = '02' THEN 'Q1'
WHEN SUBSTRING(myDate, 6, 7) = '03' THEN 'Q1'
WHEN SUBSTRING(myDate, 6, 7) = '04' THEN 'Q2'
WHEN SUBSTRING(myDate, 6, 7) = '05' THEN 'Q2'
WHEN SUBSTRING(myDate, 6, 7) = '06' THEN 'Q2'
WHEN SUBSTRING(myDate, 6, 7) = '07' THEN 'Q3'
WHEN SUBSTRING(myDate, 6, 7) = '08' THEN 'Q3'
WHEN SUBSTRING(myDate, 6, 7) = '09' THEN 'Q3'
WHEN SUBSTRING(myDate, 6, 7) = '10' THEN 'Q4'
WHEN SUBSTRING(myDate, 6, 7) = '11' THEN 'Q4'
WHEN SUBSTRING(myDate, 6, 7) = '12' THEN 'Q4'
END AS Quartal FROM Table
fügt dann eine Spalte "Quartal" hinzu und schreibt das aktuelle Quartal rein
Beispiel Tabelle Staedte
id | Stadt | PLZ |
---|---|---|
1 | Berlin | D-10115 |
2 | Wien | A-1010 |
3 | Salzburg | A-5020 |
4 | Salzburg | A-5026 |
5 | München | D-80331 |
6 | Graz | A-8010 |
CHARINDEX
gibt die Position (Index) eines bestimmten Zeichen wieder:
CHARINDEX('-', [PLZ])
Mit dem Beispiel: Staedte:
SELECT [id],
[Stadt],
[PLZ],
CHARINDEX('-', [PLZ]) AS PLZIndex
FROM Staedte
Ausgabe:
id | Stadt | PLZ | PLZIndex |
---|---|---|---|
1 | Berlin | D-10115 | 2 |
2 | Wien | A-1010 | 2 |
3 | Salzburg | A-5020 | 2 |
4 | Salzburg | A-5026 | 2 |
5 | München | D-80331 | 2 |
6 | Graz | A-8010 | 2 |
Quartal
SELECT CAST(DATEPART(qq, GETDATE()) AS VARCHAR)
Antwort z.B. für das aktuelle Quartal 2:
2
letztes Quartal
SELECT CAST(DATEPART(YYYY, DATEADD(dd, -1, DATEADD(qq, DATEDIFF(qq, 0, GETDATE()), 0))) AS VARCHAR) + '-Q' + CAST(DATEPART(qq, DATEADD(dd, -1, DATEADD(qq, DATEDIFF(qq, 0, GETDATE()), 0))) AS VARCHAR)
Antwort Beispiel:
2020-Q1
({{pro_count}})
Beitrag bewerten:{{percentage}} % positiv
({{con_count}})