gpt4 book ai didi

sql - 将数据从 SQL Server Express 导出到 CSV(需要引用和转义)

转载 作者:数据小太阳 更新时间:2023-10-29 06:23:48 25 4
gpt4 key购买 nike

我花了 2 天时间尝试从 SQL Server 安装中导出一个包含用户输入数据的大型文本字段的 75,000 行表。此数据包含每个纯 ascii 字符、制表符和换行符。我需要导出 CSV,其中每个字段都被引用,并且引用列中的引号被正确转义(“”)。

到目前为止,这是我尝试过的:- 右键单击​​ Management Studio 中的数据库并导出到 Excel:由于字段太长而失败。- 将数据从 Management Studio 导出到带有 "文本分隔符和逗号分隔符的平面文件 - 完全无用,不会在字段中转义引号,使文件完全不明确。- 来自命令行的 BCP - 也不支持引用字段。

我需要使用 FasterCSV ruby​​ 库导入。它不允许引号定界符是非标准的 ascii 字符或多个字符。它还不允许在未加引号的列中使用\n 或\r。

非常感谢任何帮助。

最佳答案

可以的!但是,您必须专门配置 SSMS 以使用带引号的输出,因为出于某些愚蠢的原因,它不是默认设置。

在要保存的查询窗口中转到查询 -> 查询选项...

选中“保存 .csv 结果时引用包含列表分隔符的字符串”框。

enabling quoted csv output

然后

select 'apple,banana,cookie' as col1,1324 as col2,'one two three' as col3,'a,b,"c",d' as col4

会输出

col1,col2,col3,col4
"apple,banana,cookie",1324,one two three,"a,b,""c"",d"

这是我们都想要的。

2022 年 8 月 8 日更新

我刚刚安装了 SSMS 版本 18.12.1。令人费解的是,Microsoft 已从上述 Query -> Query Options -> Results -> Grid 方法和 Tools -> Options -> Query Results -> 中删除了“quote strings”选项Tim Partridge 建议的 SQL Server -> Results to Grid 方法。对于这个版本的 SSMS,我没有解决方案。

关于sql - 将数据从 SQL Server Express 导出到 CSV(需要引用和转义),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7382846/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com