我有一个 oracle 表,我想检查是否存在。
从表中选择 1,其中 match_id = 'xxxx'
将返回 0 行、1 行或多行 1,具体取决于匹配项的数量。
我使用myBatis来编写sql,那么我应该使用什么样的集合来接受结果?
最佳答案
一种方法是通过从双重中选择来使用EXISTS
SELECT
CASE
WHEN EXISTS (
SELECT 1
FROM tablename
WHERE match_id = 'xxxx'
) THEN 1 --exists
ELSE 0 --does not exists
END
FROM dual;
或者使用ROWNUM = 1
限制结果,然后进行计数
select count(*) from
(
Select 1 from tablename where match_id = 'xxxx' and rownum = 1
);
两者应该具有相似的性能,并且比在整个表上执行 select count(*)
更好。
关于java - 你用什么集合来接受oracle select 1的返回值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53808752/