2013-07-24 13 views
50

Próbuję dowiedzieć się, jak sprawdzić, czy pole jest puste lub puste. Mam tenJak sprawdzić, czy pole ma wartość pustą lub pustą mysql?

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

muszę dodać dodatkowe pole field1 wyboru! = "" Coś

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

jakiś pomysł jak to osiągnąć?

Odpowiedz

116

Albo użyć

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

lub

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

Jeśli chcesz tylko sprawdzić null a nie na pustych strunach następnie można również użyć ifnull jak próbowałeś. Ale to też nie jest odpowiednie dla pustych ciągów.

9

Alternatywnie można również użyć CASE za ten sam:

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

Jeśli chcesz sprawdzić w PHP, to powinieneś zrobić coś takiego:

$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 =:;' To trochę krótsza .. –

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

tutaj ktoś może (empty ($ ertom [ 'YOUROWNAME']) pusta nie jest pusta?) znajdź tam rozwiązanie qry. Działa jak najszybciej i mam nadzieję, że będzie użyteczne dla wszystkich – user7256715

0

Można tworzyć funkcja ułatwiająca to.

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

Zastosowanie:

SELECT IFEMPTY(field1, 'empty') as field1 
from tablename 
Powiązane problemy