2013-07-24 2 views
50

필드가 null 또는 비어 있는지 확인하는 방법을 알아 내려고하고 있습니다. 나는! = ""필드가 null 또는 비어 있는지 확인하는 방법 mysql?

SELECT IFNULL(field1, 'empty') OR field1 != "" as field1 from tablename. 

어떤 생각과 같은 방법이를 위해 내가 추가 검사의 필드 1을 추가해야이

SELECT IFNULL(field1, 'empty') as field1 from tablename. 

가 있나요?

답변

116

중 하나를 사용

SELECT IF(field1 IS NULL or field1 = '', 'empty', field1) as field1 
from tablename 

또는

SELECT case when field1 IS NULL or field1 = '' 
      then 'empty' 
      else field1 
     end as field1 
from tablename 

당신은 단지 당신이 노력으로 당신은 또한 ifnull을 사용할 수 있습니다 빈 문자열을 null하지를 확인하려면

. 그러나 빈 문자열에도 적합하지 않습니다.

9

또는 당신은 또한 같은위한 CASE를 사용할 수 있습니다

SELECT CASE WHEN field1 IS NULL OR field1 = '' 
     THEN 'empty' 
     ELSE field1 END AS field1 
FROM tablename. 
0

당신이 PHP에서 확인하고 싶은 경우, 다음과 같이 수행해야합니다

$query_s =mysql_query("SELECT YOURROWNAME from `YOURTABLENAME` where name = $name"); 
$ertom=mysql_fetch_array($query_s); 
if ('' !== $ertom['YOURROWNAME']) { 
    //do your action 
    echo "It was filled"; 
} else { 
    echo "it was empty!"; 
} 
+2

'$ ISNULL = 여기에'약간 짧다 .. –

0
SELECT * FROM ( 
    SELECT 2 AS RTYPE,V.ID AS VTYPE, DATE_FORMAT(ENTDT, ''%d-%m-%Y'') AS ENTDT,V.NAME AS VOUCHERTYPE,VOUCHERNO,ROUND(IF((DR_CR)>0,(DR_CR),0),0) AS DR ,ROUND(IF((DR_CR)<0,(DR_CR)*-1,0),2) AS CR ,ROUND((dr_cr),2) AS BALAMT, IF(d.narr IS NULL OR d.narr='''',t.narration,d.narr) AS NARRATION 
    FROM trans_m AS t JOIN trans_dtl AS d ON(t.ID=d.TRANSID) 
    JOIN acc_head L ON(D.ACC_ID=L.ID) 
    JOIN VOUCHERTYPE_M AS V ON(T.VOUCHERTYPE=V.ID) 
    WHERE T.CMPID=',COMPANYID,' AND d.ACC_ID=',LEDGERID ,' AND t.entdt>=''',FROMDATE ,''' AND t.entdt<=''',TODATE ,''' ',VTYPE,' 
    ORDER BY CAST(ENTDT AS DATE)) AS ta 
+0

사람이 할 수있는 (빈 ($의 ertom [ 'YOUROWNAME']) 빈 비어 있지?) 거기 qry의 solution.its a runing qry 찾아 모든 사람들을 위해 유용한 것입니다 희망 Logged – user7256715

0
당신은 만들 수 있습니다

을 이것을 쉽게하는 함수.

create function IFEMPTY(s text, defaultValue text) 
returns text deterministic 
return if(s is null or s = '', defaultValue, s); 

사용 :

SELECT IFEMPTY(field1, 'empty') as field1 
from tablename 
관련 문제