조건부 NOT NULL 경우에는 <> 및 =연산자를 사용할 필요가 없습니다. MySQL에서 NULL은 특수한 경우이기 때문에 IS NULL과 IS NOT NULL 속성을 사용해야 합니다.
조건부 NOT NULL 경우를 이해하기 위해 테이블을 생성해 보겠습니다. 테이블 생성 쿼리는 다음과 같습니다.
mysql> 테이블 생성 ConditionalNotNullDemo -> ( -> Id int NOT NULL AUTO_INCREMENT, -> SendMessage longtext, -> PRIMARY KEY(Id) -> );쿼리 OK, 영향을 받는 행 0개(0.62초)
삽입 명령을 사용하여 테이블에 일부 레코드를 삽입하십시오. 쿼리는 다음과 같습니다.
mysql> Insert into ConditionalNotNullDemo(SendMessage) values(NULL);Query OK, 1행 영향(0.16초)mysql> ConditionalNotNullDemo(SendMessage) values('Hi')에 삽입, Query OK, 1행 영향(0.15초) )mysql> ConditionalNotNullDemo(SendMessage) values에 삽입('Hello');쿼리 OK, 1행 영향(0.20초)mysql> ConditionalNotNullDemo(SendMessage) values에 삽입(NULL);Query OK, 1행 영향(0.18초)사전>select 문을 사용하여 테이블의 모든 레코드를 표시합니다. 쿼리는 다음과 같습니다.
mysql> Select *from ConditionalNotNullDemo;다음은 출력입니다.
+----+--------------+| 아이디 | SendMessage |+----+-------------+| 1 | 널 || 2 | 안녕 || 3 | 안녕하세요 || 4 | NULL |+----+-------------+4행 세트(0.00초)다음은 IS NULL 및 IS NOT NULL 속성의 데모입니다.
케이스 1 :모든 NULL 메시지를 필터링하려면 IS NULL 속성을 사용하십시오. 쿼리는 다음과 같습니다.
mysql> Select *from ConditionalNotNullDemo where SendMessage IS NULL;다음은 출력입니다.
+----+--------------+| 아이디 | SendMessage |+----+-------------+| 1 | 널 || 4 | NULL |+----+-------------+2행 세트(0.00초)사례 2 :IS NOT NULL 속성을 사용합니다. NULL 메시지를 제외한 모든 유효한 메시지를 표시하려면 IS NULL 속성을 사용할 수 있습니다. 쿼리는 다음과 같습니다.
mysql> select *from ConditionalNotNullDemo where SendMessage IS NOT NULL;다음은 출력입니다.
+----+--------------+| 아이디 | SendMessage |+----+-------------+| 2 | 안녕 || 3 | 안녕하세요 |+----+-------------+2행 세트(0.03초)