2010-05-19 315 views
1

如何检查表中是否存在为特定字段设置的值?如何检查字段在Oracle中是否有值

谢谢

+0

Nimo - 你的意思是如何找到某个特定列是否有相应的查找表,或者某个列是否包含任何值? Senthil正在陷入低谷,但我有一种感觉,他可能最接近你所追求的。 – 2010-05-20 15:34:40

回答

0

您可以使用此查询,

SELECT * FROM表名,其中列名= '字段值';

+0

如果返回值意味着那么有一些值设置..如果没有返回意味着..然后值没有设置..在这个想法我张贴。它有什么不对? – professionalcoder2010 2010-05-19 10:45:45

+0

我觉得有一个语言问题。您正在阅读它(我认为可能是正确的),因为“是定义的一组值的集合中的一个值集合,其他人都将其读为”有或没有值“。 – 2010-05-20 15:36:16

3

.... WHERE字段不为空....

0

这样:

SELECT whatever FROM table WHERE that_field IS NULL 

或更换IS NULLIS NOT NULL,如果你想选择在字段的值行。

1

我们可以在WHERE子句中运行查询NOT NULL的查询。为了方便,我使用了计数。

SQL> select count(*) 
    2 from emp 
    3 where comm is not null 
    4/

    COUNT(*) 
---------- 
     4 

SQL> 

因此,这是COMM设置了值的四行。

如果我们想要测试投影中是否存在某个值,那么我们可以使用CASE(),DECODE()或Oracle的NULL-related functions之一。例如,此语句在SUM()中调用[NVL2()][2]以统计在同一查询中有多少个COMM实例为NULL和NOT NULL。

SQL> select sum(nvl2(comm, 1, 0)) as notnull_cnt 
    2   , sum(nvl2(comm, 0, 1)) as null_cnt 
    3 from emp 
    4/

NOTNULL_CNT NULL_CNT 
----------- ---------- 
      4   16 

SQL>