我在文档中没有看到如何在我的csv类型的输出文件中包含列标题。我确定这是重复的,但我似乎无法找到能够满足我的确切需求。
这是我的命令:
bcp "select * from MYDB.dbo.MyTable" queryout "C:\outputfile.csv" -c -t"," -r"\n" -S ServerName -T -k -E
答案 0 :(得分:1)
一个众所周知的标准hack是选择列名联合所有使它们成为查询本身的一部分并导出它,就像这样......
bcp "SELECT 'ColName1','ColName2','ColName3' UNION ALL select ColName1,ColName2,ColName3 from MYDB.dbo.MyTable" queryout "C:\outputfile.csv" -c -t"," -r"\n" -S ServerName -T -k -E
答案 1 :(得分:0)
@ M.Ali解决方案完美运行。您还可以使用以下内容更动态地包含各列:
DECLARE @ColumnHeader varchar(8000)
SELECT @ColumnHeader = COALESCE(@ColumnHeader+',' ,'')+ ''''+column_name +''''
FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME='tblA';