编写查询以选择用单引号括起来的列

时间:2014-08-05 15:56:27

标签: sql postgresql quoting

我正在尝试编写一个select查询,该查询应返回包含在单引号中的列值。说列(ABC)有

Values: 123
        567

查询应该返回

Output: '123'
        '567'

2 个答案:

答案 0 :(得分:2)

我倾向于使用另一个来逃避引用,就像标准的SQL转义语法一样:

nunks=# select '''I''m escaping a string''';
        ?column?         
-------------------------
 'I'm escaping a string'
(1 row)

在包装某些输出值时,您必须与||:

连接
nunks=# create table numbers (number int);
CREATE TABLE

nunks=# insert into numbers values (151515);
INSERT 0 1

nunks=# select number from numbers;
 number 
--------
 151515
(1 row)

nunks=# select ''''||number||'''' from numbers;
 ?column? 
----------
 '151515'
(1 row)

也许您会使用E syntax

更清楚地发现它
nunks=# select E'\''||number||E'\'' from numbers;
 ?column? 
----------
 '151515'
(1 row)

答案 1 :(得分:1)

在处理数值数据时,您可以简单地连接。 NULL值保持NULL。但对于可能需要转义的字符数据(或类似),请使用正确的函数。

quote_nullable() or quote_literal() - 取决于您是否具有NULL值:

SELECT quote_nullable(val) AS quoted_val FROM tbl;

报价详情: