从 bcp 命令导出到 csv 不起作用
Exporting from bcp command to csv is not working
我真的在为这个特定的查询而苦苦挣扎,我们将不胜感激,
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 文件以 ' everynew line in the starting position like
'5','6','7'
'1','2','3'
我使用了不同的带引号的标识符,但它仍然不起作用。
使用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'
我真的在为这个特定的查询而苦苦挣扎,我们将不胜感激,
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 文件以 ' everynew line in the starting position like
'5','6','7'
'1','2','3'
我使用了不同的带引号的标识符,但它仍然不起作用。
使用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'