En algunas ocasiones nos encontramos con la necesidad de exportar el resultado de una consulta a un archivo CSV.
A pesar de existir una infinidad de herramientas que lo pueden hacer, y a favor de mantener las cosas simple, les dejo el método mas practico que pude encontrar.
Fácilmente se puede automatizar un archivo .bat con el comando SQLCMD, o su hermano OSQL, para realizar la tarea. Algo asi:
sqlcmd -S MiServidor -E -r -Q "set nocount on; select t T from ##daf order by id" -o daf.csv -w 8000 -h -1
Donde:
-E Conexión trusted
-r No muestra los mensajes de error en la consola
-h -1 Al final, es el parámetro que evita que se muestren los títulos de las columnas
-s “,” Define el separador de campo, para un csv es coma ;P
-d Base
-Q “Comando” Es importante poner al principio el set nocount on; para prevenir el “n rows affected” del final, seguido de la consulta a ejecutar.
-w 8000 Indica el ancho del registro en la salida
-o daf.csv Es el nombre del archivo donde se guardara el resultado de la consulta.
Basado en la nota de kdkeys.net
