如何在 postgresql 中 select 多行?
How to select multiple row in postgresql?
我可以给出一个由单个值组成的结果集,比如说1
,如下:
SELECT 1 as column;
它给了我结果集:
column
------
1
但是我有一个以字符串表示的此类值的列表 (1, 4, 7, ...)
,我需要生成以下结果集:
column
------
1
4
7
.
.
.
我试过 SELECT * FROM (1, 4, 7)
但没用。我也尝试 SELECT 1, 4, 7
但它产生了以下结果集:
col1 col2 col3
1 4 7
这不是我想要的。
您可以使用 union To get what you want.But if this is the sting as 1,4,7
comma seprated then you need to use the regexp_split_to_table
function. Mentioned here and here
Select 1
UNION
select 4
UNION
select 7
你可以 unnest
它作为 array:
SELECT UNNEST(ARRAY[1, 4, 7])
如果这些是常数值,您可以使用 values
子句:
select *
from (
values (1), (4), (7)
) as t(id);
如果您的值在字符串文字中,您可以使用:
select *
from unnest(string_to_array('1,2,3,4', ',')) as id;
我可以给出一个由单个值组成的结果集,比如说1
,如下:
SELECT 1 as column;
它给了我结果集:
column
------
1
但是我有一个以字符串表示的此类值的列表 (1, 4, 7, ...)
,我需要生成以下结果集:
column
------
1
4
7
.
.
.
我试过 SELECT * FROM (1, 4, 7)
但没用。我也尝试 SELECT 1, 4, 7
但它产生了以下结果集:
col1 col2 col3
1 4 7
这不是我想要的。
您可以使用 union To get what you want.But if this is the sting as 1,4,7
comma seprated then you need to use the regexp_split_to_table
function. Mentioned here and here
Select 1
UNION
select 4
UNION
select 7
你可以 unnest
它作为 array:
SELECT UNNEST(ARRAY[1, 4, 7])
如果这些是常数值,您可以使用 values
子句:
select *
from (
values (1), (4), (7)
) as t(id);
如果您的值在字符串文字中,您可以使用:
select *
from unnest(string_to_array('1,2,3,4', ',')) as id;