Sql server 从CSV导出中删除双引号

Sql server 从CSV导出中删除双引号,sql-server,tsql,Sql Server,Tsql,我在SP中有以下部分代码,它将一些结果导出到CSV。我尝试将转换为Csv-NoTypeInformation更改为转换为Csv-NoTypeInformation-Delimiter“,”,但它没有将文件导出到路径 SET @cmd = 'Invoke-Sqlcmd -Query ''SELECT * FROM '+@tablename+';'' -Database '+@dbname+' -Server "'+@servername+'" -Username '+@user

我在SP中有以下部分代码,它将一些结果导出到CSV。我尝试将转换为Csv-NoTypeInformation更改为转换为Csv-NoTypeInformation-Delimiter“,”,但它没有将文件导出到路径

SET @cmd = 'Invoke-Sqlcmd -Query ''SELECT * FROM '+@tablename+';'' -Database '+@dbname+' -Server "'+@servername+'" -Username '+@username+' -Password '+@password+
        ' | ConvertTo-Csv -NoTypeInformation | select -Skip 1 | Set-Content -Path '+@folderpath+'\'+@filename+' -Encoding UTF8'
SET @cmd = 'powershell.exe -noprofile -command "'+@cmd+'"'
EXEC @return = xp_cmdshell @cmd, no_output
    IF @return <> 0
    BEGIN
        PRINT 'ERROR: '+@cmd
    END
SET@cmd='Invoke Sqlcmd-Query'+@tablename+'中选择*-数据库'+@dbname+'-Server'+@servername+'-Username'+@Username+'-Password'+@Password'+
“|转换为Csv-非类型信息|选择-跳过1 |设置内容-路径”+@folderpath+'\'+@filename+'-编码UTF8”
SET@cmd='powershell.exe-noprofile-command'+@cmd+''
EXEC@return=xp\u cmdshell@cmd,无输出
如果@return 0
开始
打印“错误:”+@cmd
结束

如何在没有双引号的情况下导出此文件?

警告,这看起来非常容易注入。如果您使用的是动态SQL,请始终安全地插入值。至于问题,引号是字符串标识符,而不是分隔符。如果使用
converttocsv-?
您会注意到有一个适当的开关用于控制引号,名为
QuoteFields
。如果您曾经被命令卡住,那么检查它的手册应该是您的第一个电话,其次是文档。