是否可以定义一个文本字段数组(或任何数据类型)并从中选择一个值,所有这些都在一个语句中?例如:
SELECT ARRAY['First', 'Second', 'Third'][mytable.state] as interpreted_state WHERE mytable.id = 1;
答案 0 :(得分:3)
您可以使用SQL“CASE”语句进行排序,不是吗?
SELECT CASE mytable.state
WHEN 0 THEN 'First'
WHEN 1 THEN 'Second'
WHEN 2 THEN 'Third'
END
FROM mytable
WHERE mytable.id = 1
答案 1 :(得分:1)
SELECT * FROM mytable.id WHERE columns IN ("1","2","3");
如果我理解你的意思是什么..
答案 2 :(得分:0)
这真的是一种愚蠢的方式。有一个查找表并使用连接。
答案 3 :(得分:0)
你很亲密,你只需要一些麻烦。
SELECT (array['one','two','three'])[state]
FROM mytable
WHERE id = 1;
但如前所述,CASE声明是标准的便携式方法。