Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 是否使用SQL本身将SQL查询结果转换为CSV?_Sql Server_Sql Server 2008_Sql Server 2005_Csv - Fatal编程技术网

Sql server 是否使用SQL本身将SQL查询结果转换为CSV?

Sql server 是否使用SQL本身将SQL查询结果转换为CSV?,sql-server,sql-server-2008,sql-server-2005,csv,Sql Server,Sql Server 2008,Sql Server 2005,Csv,有没有办法使用SQL本身将SQL查询结果转换为CSV文件?我正在寻找适用于SQLServer2005及以上版本的解决方案。我环顾了一下谷歌,他们中的大多数人都建议在ManagementStudio中使用点击选项、基于XML的解决方案和SQLcmd。我不想要那些解决方案 我们可以用普通SQL来实现吗?编辑-是否可以仅使用SQL将结果保存到CSV文件?您可以使用字符串连接,但请注意结果字符串中的逗号 SELECT UserName + ',' + CAST(BirthDate as VARCHAR(

有没有办法使用SQL本身将SQL查询结果转换为CSV文件?我正在寻找适用于SQLServer2005及以上版本的解决方案。我环顾了一下谷歌,他们中的大多数人都建议在ManagementStudio中使用点击选项、基于XML的解决方案和SQLcmd。我不想要那些解决方案


我们可以用普通SQL来实现吗?编辑-是否可以仅使用SQL将结果保存到CSV文件?

您可以使用字符串连接,但请注意结果字符串中的逗号

SELECT UserName + ',' + CAST(BirthDate as VARCHAR(12)) + ',' + CAST(NumberOfAccount as VARCHAR(10)) 
FROM Users
要转义逗号,请使用
从表中选择带逗号的“'+列”+“+…


编辑:您可能需要通过复制/粘贴将数据保存到CSV。作为替代用途,但请注意权限。理想情况下,您的帐户不应有保存到磁盘的权限。您可以使用字符串连接,但请注意结果字符串中的逗号

SELECT UserName + ',' + CAST(BirthDate as VARCHAR(12)) + ',' + CAST(NumberOfAccount as VARCHAR(10)) 
FROM Users
要转义逗号,请使用
选择''+'列和逗号+''+。。。从表中

编辑:您可以通过复制/粘贴将数据保存到CSV。作为替代用途,但请小心使用权限。理想情况下,您的帐户不应具有使用该工具保存到磁盘的权限。它是SQL Server的一部分。此外,“csv”不是一种定义良好的格式。您需要考虑如何处理包含字段和行分隔符(通常是逗号和换行符)的字段

如果您真的需要在SQL Server会话中启动此功能,有几种方法可以实现。它们都很笨重。请记住,实际运行SQL Server服务的Windows帐户甚至可能没有对要保存csv的文件系统的写入权限(它可能不应该有权限)

我强烈建议在SQL之外启动此任务。

使用此工具。它是SQL Server的一部分。此外,“csv”不是一种定义良好的格式。您需要考虑如何处理包含字段和行分隔符(通常是逗号和换行符)的字段

如果您真的需要在SQL Server会话中启动此功能,有几种方法可以实现。它们都很笨重。请记住,实际运行SQL Server服务的Windows帐户甚至可能没有对要保存csv的文件系统的写入权限(它可能不应该有权限)

我强烈建议您在SQL之外启动此任务。

您可以使用SQLCMD(如果您的计算机上有SSM,您应该使用它)。调出一个命令提示符。该命令将是以下几行内容:

sqlcmd -U <userid> -P <password> -S <hostname or ip> -q "<your select statement>" -o "<target file>"
sqlcmd-U-P-S-q”“-o”
我认为所有的双引号都是必要的。和他们在一起对我很有效,所以我不担心

如果需要不同的分隔符,请添加
-s”“

根据每行的宽度,您可能需要处理
-w
,或者数据可能开始换行

编辑: Anon就CSV面临的挑战提出了一些非常好的观点,无论您采取何种方法,都要记住这些观点。

您可以使用SQLCMD(如果您的机器上有SSM,您应该拥有它)。调出一个命令提示符。该命令将是以下几行内容:

sqlcmd -U <userid> -P <password> -S <hostname or ip> -q "<your select statement>" -o "<target file>"
sqlcmd-U-P-S-q”“-o”
我认为所有的双引号都是必要的。和他们在一起对我很有效,所以我不担心

如果需要不同的分隔符,请添加
-s”“

根据每行的宽度,您可能需要处理
-w
,或者数据可能开始换行

编辑:
Anon对CSV的挑战提出了一些非常好的观点,无论你采取什么方法,都要记住这些观点。

在第二次施展之前需要一个加号。是否可以使用SQL本身将其保存到文件中?请尝试理解。您是否希望SQL查询的输出文件为CSV???@goofyui-是的,这正是我所期望的。不过PDF有一个解决方案-在第二次播放之前需要一个加号。是否可以使用SQL本身将其保存到文件中?请尝试理解。您是否希望SQL查询的输出文件为CSV???@goofyui-是的,这正是我所期望的。不过PDF有一个解决方案-是的,一些编程语言,如VB或C#是的,一些编程语言,如VB或C#