2010-05-19 6 views
1

테이블의 특정 필드에 값이 설정되어 있는지 확인하려면 어떻게합니까? 필드에 Oracle 값이 있는지 확인하는 방법

+0

Nimo - 특정 열에 해당하는 찾아보기 테이블이 있는지 또는 특정 열에 값이 들어 있는지 여부를 어떻게 알 수 있습니까? Senthil은 downvoted지고 있지만 나는 그가 아마 당신이 무엇을하고 있는지에 가장 가까운 느낌을했습니다. –

답변

0
이 쿼리를 사용할 수 있습니다

,

선택 * 테이블 _에서 어디 COLUMN_NAME = '필드 값'감사합니다;

+0

값이 반환되면 몇 가지 값이 설정되었음을 의미합니다. 반환 된 값이 없으면 의미가 설정되지 않습니다.이 생각에 내가 게시했습니다. 무엇이 잘못 되었습니까? – professionalcoder2010

+0

제가 생각하기에 언어 문제가 있습니다. 당신은 "나는이 값을 정의 된 값 집합의 일부분 인 값 집합이라고 생각합니다. 다른 모든 사람들은"값이 설정되었거나 설정되어 있지 않습니다 "라고 읽습니다. –

3

.... 필드가 NULL ....

0

이 방법을지지 않습니다 WHERE :

SELECT whatever FROM table WHERE that_field IS NULL 

또는 필드에 값이 행을 선택하려는 경우 IS NOT NULLIS NULL를 교체합니다.

1

WHERE 절에서 NOT NULL을 검사하는 쿼리를 실행할 수 있습니다. 나는 편의를 위해 카운트를 사용하고있다.

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

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

SQL> 

COMM에는 값이 설정된 4 개의 행이 있습니다.

프로젝션에서 값의 존재 여부를 테스트하려면 CASE(), DECODE() 또는 오라클의 NULL-related functions 중 하나를 사용할 수 있습니다. 예를 들어이 문은 에 [NVL2()][2]에 대한 호출을 랩핑하여 동일한 쿼리에서 COMM의 인스턴스 수가 NULL이고 NOT 인 인스턴스 수를 계산합니다.

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> 
관련 문제