【发布时间】:2013-01-12 01:54:09
【问题描述】:
Employee 表有 ID 和 NAME 列。名称可以重复。我想知道是否至少有一行名称类似于“kaushik%”。
所以查询应该返回真/假或 1/0。
是否可以使用单个查询找到它。 如果我们尝试类似
select count(1) from employee where name like 'kaushik%'
在这种情况下,它不会返回真/假。 此外,我们正在遍历表中的所有记录。有没有办法在简单的 SQL 中,每当获取满足条件的第一条记录时,它应该停止检查进一步的记录。 还是只能在 Pl/SQL 块中处理?
编辑 * 贾斯汀提供的第一种方法看起来是正确的答案
SELECT COUNT(*) FROM employee WHERE name like 'kaushik%' AND rownum = 1
【问题讨论】:
-
Oracle 并没有真正的布尔数据类型。
-
您可以将 rownum 添加到您的查询中,即从员工中选择 count(1),其中名称如 'kaushik%' 和 rownum = 1;或使用 rownum