我需要一种方法来测试给定数组中是否存在值.到目前为止,我想出了类似的东西
select '{1,2,3}'::int[] @> (ARRAY[]::int[] || value_variable::int)
Run Code Online (Sandbox Code Playgroud)
但我一直认为应该有一个更简单的方法,我只是看不到它.
编辑:刚认识到我能做到这一点
select '{1,2,3}'::int[] @> ARRAY[value_variable::int]
Run Code Online (Sandbox Code Playgroud)
这要好得多,我相信这已经足够了,但如果你有其他方法可以做,请分享.
我总是在SQL查询中使用括号.但我有一个例子:
DELETE FROM prog
WHERE prog_start >= $1 AND prog_start < $2
OR prog_end > $1 AND prog_end <= $2
Run Code Online (Sandbox Code Playgroud)
它等于:
DELETE FROM prog
WHERE ( prog_start >= $1 AND prog_start < $2 )
OR ( prog_end > $1 AND prog_end <= $2 )
Run Code Online (Sandbox Code Playgroud)
或不 ?