2009-07-23 5 views
4

내보기에 추가 할 데이터가 NULL인지 확인하려면 선택 항목에 사례를 넣어야합니다.이 경우 0 만 입력하면됩니다.MySQL보기에서 데이터가 NULL인지 검사합니다.

+0

내가 혼란 스러워요 :

SELECT IF('field' IS NULL, 0, 'field')... 

또한 "IFNULL()"가있다. 내 지식으로는 SELECT의 데이터베이스에 정보를 추가하거나 업데이트 할 수 없습니다. '0'을 반환하는 것을 의미합니까? 그리고 나는 당신이 '~ 아닌'비트로 무엇을 의미하는지 확신 할 수 없습니다. 좀 더 자세한 정보를 제공해 주시겠습니까? – MitMaro

답변

12

이런 뜻입니까?

SELECT IFNULL(`field`, 0)... 
+1

이것은 일반적으로 허용되는 COALESCE()가 더 좋은 아이디어 인 IF() 및 IFNULL()을 잘못 사용하는 고전적인 사례입니다. – longneck

2

테이블을 만들 때 NOT NULL을 열 설명에 추가하면됩니다 (예 : 데이터가 필드에 지정되지 않은 경우

CREATE TABLE ( ID INT NOT NULL default '0' );

그 다음은 당신이 SELECT 쿼리를 실행할 때 검색됩니다 0의 기본 값으로 설정됩니다.

+1

예를 들어, NULL이 LEFT OUTER JOIN의 결과 인 경우에는 적용되지 않습니다. – longneck

7
select coalesce(field, 0) as 'field' from v; 

(doc)