【问题标题】:Generating CSv through a query in sql通过sql中的查询生成CSV
【发布时间】:2014-10-12 10:55:48
【问题描述】:

我已经通过基本的SELECTINSERT INTO 命令创建了一个数据库、一个表和该表中的条目。

要查看我使用基本查询的条目:

USE test1
SELECT * FROM orders 

其中 test1 是数据库,orders 是表名。

我可以看到条目。

如何将结果存储到 CSV?

随着查询

SELECT * FROM orders
INTO OUTFILE '/path/to/file.csv'
FIELDS ESCAPED BY '""'
TERMINATED BY ',' ENCLOSED BY '"'
LINES TERMINATED BY '\n'" 

我遇到了一个错误

消息 156,第 15 级,状态 1,第 4 行
关键字“INTO”附近的语法不正确。

【问题讨论】:

  • 欢迎来到 StackOverflow 提及您的database
  • into 应该在 clause 之前
  • 从错误信息来看,您使用的是 SQL Server - 对吧? T-SQL 中没有INTO OUTFILE ..... 命令....
  • 是的,我正在使用 sql server..
  • Microsoft SQL Server Management Studio 10.0.1600.22 ((SQL_PreRelease).080709-1414 ) Microsoft 数据访问组件 (MDAC) 6.1.7600.16385 (win7_rtm.090713-1255) Microsoft MSXML 3.0 4.0 6.0 Microsoft Internet Explorer 9.0.8112.16421 Microsoft .NET Framework 2.0.50727.4984 操作系统 6.1.7600

标签: sql sql-server sql-server-2008 csv


【解决方案1】:

您确实可以选择从管理工作室中输出到 csv,您可以正常返回您的网格,然后右键单击并单击“将结果另存为...”

根据问题How to export SQL Server 2005 query to CSV使用SQLMD

sqlcmd -q "select col1,col2,col3 from table" -oc:\myfile.csv -h-1 -s","

替代方法是将其创建为变量,然后通过您的应用程序将其保存,例如

declare @csv varchar(max) = ""
select @csv += replace(column1, ',','","') + ', ' + replace(column1, ',','","') + char(13) + char(10) from orders
select @csv csv

问候

利亚姆

【讨论】:

    【解决方案2】:

    如果您不太熟悉 SQL,并且想要更基于图形的方法,您可以随时使用导入/导出向导。对可能是 SQL 新手的人更友好一些。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-04-20
      • 2020-01-06
      • 2012-09-20
      • 1970-01-01
      • 2019-11-28
      • 2010-12-05
      • 2011-11-30
      • 1970-01-01
      相关资源
      最近更新 更多