我正在尝试编写一个select查询,该查询应返回包含在单引号中的列值。说列(ABC)有
Values: 123
567
查询应该返回
Output: '123'
'567'
答案 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;
报价详情: