2010-05-19 318 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>