29.10.15

[How-To] T-SQL Abfrage nach CSV

Möchte man T-SQL queries in eine CSV-Datei schreiben, kann man sich der sqlcmd.exe bedienen:

">sqlcmd -S Database-Server -d Database -E -Q "set nocount on;SELECT * FROM dbo.table" -o "C:\sqlquery_%date:~6,4%-%date:~3,2%-%date:~0,2%.csv" -s";" -w 999

-S --> DB-Server
-d --> Database
-E --> trusted connection
-Q --> Query
-o --> output file
-s --> delimiter
-w --> Screenwidth

Beispiel:
">sqlcmd -S localhost -d %DATENBANK% -E -Q "set nocount on;SELECT Spalte1,Spalte2,Spalte3,StartTime FROM dbo.%TABLE% WHERE Spalte1 LIKE 'BEISPIEL' AND Spalte2 is NULL AND Spalte3 LIKE '' AND StartTime >= DATEADD(HH, -24, GETDATE())" -o "X:\PFAD\Output_File_%date:~6,4%-%date:~3,2%-%date:~0,2%.csv" -s";" -w 999