首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在SQL输出中插入双引号

在SQL输出中插入双引号
EN

Stack Overflow用户
提问于 2011-06-06 22:48:28
回答 5查看 82.9K关注 0票数 20

在我运行查询并查看输出之后,例如

select * from People

我的输出如下

代码语言:javascript
复制
First   Last      Email
Ray     Smith     raysmith@whatever.itis

我如何导出这些数据,使其看起来如下所示?

代码语言:javascript
复制
"Ray","Smith","raysmith@whatever.itis"

或者,有没有办法在SQL中修改记录以包含引号?

因为当您导出时,无论如何都会包含逗号,对吧?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2011-06-06 22:52:32

如果您感兴趣的列不超过128个字符,则可以使用QUOTENAME函数。注意这一点,因为任何超过128个字符的内容都将返回NULL

代码语言:javascript
复制
SELECT QUOTENAME(First, '"'), QUOTENAME(Last, '"'), QUOTENAME(Email, '"')
    FROM People
票数 24
EN

Stack Overflow用户

发布于 2011-06-06 22:58:14

选择concat(“\”“,first,”\“”,“\”“,Last,”\“”,“\”,Email,“\”)作为allInOne

票数 2
EN

Stack Overflow用户

发布于 2011-06-06 23:05:23

修改记录以包含引号将是一场灾难;您不能仅将数据用于导出。此外,从理论上讲,您必须处理以下名称:

代码语言:javascript
复制
 Thomas "The Alley Cat" O'Malley

这就带来了一些问题。

在标准SQL中,您可以使用双引号将单引号括起来(对于双引号没有特殊处理):

代码语言:javascript
复制
'"Thomas "The Alley Cat" O''Malley"'

某些DBMS允许您在字符串两边使用双引号(在标准SQL中,双引号表示“分隔标识符”;SQL Server为此使用方括号),在这种情况下,您可以将字符串写为:

代码语言:javascript
复制
"""Thomas ""The Alley Cat"" O'Malley"""

不过,通常情况下,您的导出器工具会提供CSV输出格式化,而您的SQL语句不需要担心这一点。嵌入的引号会让其他任何事情变得有问题。实际上,您通常不应该让DBMS处理数据的格式化。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6253814

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档