下午好!寻找一些针对 Postgres 的建议。它没有与 CHOOSE() 等效的函数,但我想用它从列表中选择一个随机字符串。即:
SELECT CHOOSE ('red', 'yellow', 'blue', 'green');
有没有一种有效的方法可以在 Postgres 中复制这个?谢谢!
尝试使用 CHOOSE() 但 Postgres 中不存在它,也不存在已知的等效项。考虑使用 RANDOM() 生成一个值并使用 CASE 语句根据该值选择一个字符串。
创建您自己的函数:
CREATE OR REPLACE FUNCTION choose(VARIADIC i_input TEXT[])
RETURNS text
LANGUAGE SQL
AS
$$
SELECT content
FROM unnest(i_input) AS u(content)
ORDER BY random()
LIMIT 1;
$$;
SELECT CHOOSE ('red', 'yellow', 'blue', 'green');