SQL视图通过SQLCMD导出到CSV-Excel格式数字从varchar字段到指数语法

SQL视图通过SQLCMD导出到CSV-Excel格式数字从varchar字段到指数语法,sql,csv,sql-server-2005,sqlcmd,sql-view,Sql,Csv,Sql Server 2005,Sqlcmd,Sql View,我使用sql作业将sql视图(sql Server 2005)中的数据导出到csv文件: sqlcmd -W -s ";" -E -d master -Q "SET NOCOUNT ON; SELECT * FROM [DB].[NameOfView];" -o "\\Location\File.csv" sql视图中有一个字段(类型Varchar(20)),其数字通常超过15个字符。对于这个领域,我只需要一个简单的陈述: SELECT Fieldname AS Name FROM DB

我使用sql作业将sql视图(sql Server 2005)中的数据导出到csv文件:

sqlcmd -W -s ";"  -E  -d master -Q "SET NOCOUNT ON; SELECT *  FROM [DB].[NameOfView];" -o "\\Location\File.csv"
sql视图中有一个字段(类型Varchar(20)),其数字通常超过15个字符。对于这个领域,我只需要一个简单的陈述:

SELECT Fieldname AS Name FROM DB
…没什么特别的

当我打开csv文件时,excel将长数字字段格式设置为指数语法格式:

有没有一种方法可以编辑查询或sqlcmd作业中的某些内容,让excel不这样做?我正在考虑将结果定义为文本,而不是sql中的数字或类似的内容(但它已经是一个varchar字段,我还尝试了诸如“”“”+Fieldname和s.o…-)之类的方法)

我无法在excel中更改某些内容,因为很多人都应该可以访问csv,否则所有人都必须在excel中进行设置

他们应该打开csv,一切看起来都很好(:

谢谢你的帮助/想法!

的确如此

SELECT '"' + Fieldname + '"' AS Name FROM DB
不工作?这将导致.csv和Excel中出现双引号,将其视为文本

编辑:尝试

SELECT '"=""' + Fieldname + '"""' AS Name FROM DB
(上面的答案假设双引号不需要在SQL字符串中进一步转义,因为它对文本文本使用单引号,所以如果没有,请检查这个。您的目标是让它看起来像

“=”0.00000014567897354354“”

在CSV中)


另请参见

确实如此,但我还看到excel中的引号,如:“1138024010424772”尝试选择“=”“”+字段名+””,作为DBPerfect中的名称,谢谢:-)在excel中,字段现在显示不带指数语法的整数