মাইএসকিউএলে ক্ষেত্রটি নাল বা ফাঁকা আছে কিনা তা কীভাবে পরীক্ষা করবেন?


91

আমি জিনিসটা যদি একটি ক্ষেত্র কিনা চেক করতে কিভাবে চেষ্টা করছি NULLবা খালি । আমার আছে এটা:

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

আমার একটি অতিরিক্ত চেক যুক্ত করা দরকার field1 != "":

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

এটি কীভাবে সম্পন্ন করবেন?

উত্তর:


201

হয় ব্যবহার

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()বা coalesce(field1, 'empty')। তবে এটি খালি স্ট্রিংয়ের জন্য উপযুক্ত নয়।


14

বিকল্পভাবে আপনি এটির জন্যও ব্যবহার করতে পারেন CASE:

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



6

এটি সহজ করার জন্য আপনি একটি ফাংশন তৈরি করতে পারেন।

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

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

এখানে যে কেউ সেখানে ক্রি'র সমাধান খুঁজে পেতে পারে a একটি চলমান ক্রি এবং আশা করি এটি সবার জন্য উপকারী হবে
ব্যবহারকারী 725815

-1

আপনি যদি পিএইচপি চেক করতে চান তবে আপনার কিছু করা উচিত:

$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!";
}

4
$isnull = (empty($ertom['YOUROWNAME']) ? empty : not empty); এটি একটু খাটো ..
রবার্ট ডি জঞ্জি
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.