我真的在努力解决这个问题,我们将非常感谢任何帮助,
create table test(int a, int b, int c)
INSERT INTO test
select 5, 6, 7
union all
select 1, 2, 3
DECLARE @sql varchar(2000),
@filename varchar(200)
SET @sql = 'select * from test '
set @filename = 'D:\New folder\myfile.csv '
set @sql = 'bcp "' + @sql + '" queryout "' + @filename +'" -c -r"''\n" -t"'',''" -S localhost\mytest -T'
EXEC Master..xp_CmdShell @SQL
我尝试导出到csv文件但我的数据不是以'值。
目前我正在
5','6','7'
1','2','3'
相反,我希望csv文件以'开头。在起始位置的每条新线,如
'5','6','7'
'1','2','3'
我使用了不同的引用标识符,但它仍然不起作用。
答案 0 :(得分:1)
使用QUOTENAME函数指定单引号,并将列分隔符设置为逗号。你必须建立你的查询。
DECLARE @sql varchar(2000),
@filename varchar(200)
SET @sql = 'select QUOTENAME(a, CHAR(39)), QUOTENAME(b, CHAR(39)), QUOTENAME(c, CHAR(39)) from test'
set @filename = 'D:\New folder\myfile.csv '
set @sql = 'bcp "' + @sql + '" queryout "' + @filename +'" -c -r"''\n" -t"," -S localhost\mytest -T'