Write a query to select columns enclosed in single quotes

I am trying to write a select query that should return a column value enclosed in a single quote. Let's say a column (ABC) has

Values: 123
        567

Request must return

Output: '123'
        '567'
0
source share
2 answers

When dealing with numeric data, you can just concatenate. NULL values ​​remain NULL. But for character data (or the like) that may need escaping, use the correct functions.

quote_nullable()orquote_literal() - depending on whether you have NULL values:

SELECT quote_nullable(val) AS quoted_val FROM tbl;

Details for citation:

+1
source

, SQL escape:

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:

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

Source: https://habr.com/ru/post/1684802/


All Articles