如何在select语句中包含双引号?

4
我有一张表格,如下所示:
 id    name 
 10    bob
 20    bill

我想在输出中只选择姓名列,并使用双引号。

像这样:select '"'||name||'"' from table 它可以给我正确的输出,但是否有其他方法可以不使用连接运算符?

谢谢。


4
不这么认为。如果您不喜欢语法,一些DBMS支持某种concat()函数,因此您可以将其编写为concat('"', name, '"')。 - Jeroen Vuurens
5个回答

9

使用它,你可以获得带双引号的结果

' " ' + columnName + ' " '

示例

查询

SELECT '"'+Name+'"' , Age
FROM customer

Result

"Viranja" | 27


3
创建一个虚拟列,添加引号:
CREATE TABLE
....
quoted_name VARCHAR2 GENERATED ALWAYS AS ('"' || name || '"') VIRTUAL,
...

更多信息请查看:

http://www.oracle-base.com/articles/11g/virtual-columns-11gr1.php

这篇文章涉及虚拟列的概念和用法,虚拟列是数据库表中一个可选的列,该列不存储实际数据,但它的值可以基于其他列计算得出。本文介绍了如何创建、使用和管理虚拟列。

0

这将检查是否有至少一个双引号的名称

select * from table
where name like '%"%'

3
OP 不是在搜索引号,只是想输出关于名字的内容。 - Olaf Dietsche

0

在我看来,使用 SQL 中的双引号有两种情况。

  1. 更新包含单引号的字符串列(必须进行转义)。
  2. 更新博客内容时,无法在“编辑前 200 行”中编辑的列。

    因此,如果要使用双引号,请按照以下步骤操作。

    SET QUOTED_IDENTIFIER OFF
    BEGIN
    DECLARE @YourSqlStmt AS VarChar(5000) -- 声明一个变量。
    SET @YourSqlStmt = "ok"
    PRINT @YourSqlStmt -- 在此处执行您的操作
    END

    这样可以节省时间,并且您不需要转义列中现有字符串内容中的单引号。


0

如果您的意图是能够将结果“导出”到空格或逗号分隔的文本文件中,请使用视图来“格式化”您的数据。您还需要对日期列执行此操作。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接