2013-07-24 5 views
50

मैं यह पता लगाने की कोशिश कर रहा हूं कि कोई फ़ील्ड शून्य या खाली है या नहीं। मैं इसयह जांचने के लिए कि क्या फ़ील्ड शून्य है या mysql खाली है?

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

मैं! = ""

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

किसी भी विचार की तरह कुछ कैसे यह पूरा करने के लिए एक अतिरिक्त जांच फ़ील्ड 1 जोड़ने की जरूरत है?

उत्तर

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 

आप केवल रिक्त स्ट्रिंग के लिए null और नहीं के लिए जाँच करने के लिए तो आप भी ifnull उपयोग कर सकते हैं के रूप में आप की कोशिश की हैं। लेकिन यह खाली तारों के लिए भी उपयुक्त नहीं है।

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']) खाली खाली नहीं?) वहां क्यूरी का समाधान ढूंढें। एक रनिंग क्यूरी है और उम्मीद है कि यह सभी के लिए उपयोगी होगा – 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 
संबंधित मुद्दे