programing

MySQL에서 필드가 null인지 빈지 확인하는 방법

shortcode 2022. 9. 18. 20:30
반응형

MySQL에서 필드가 null인지 빈지 확인하는 방법

필드가 다음 중인지 확인하는 방법을 알아보려고 합니다.NULL또는 비어 있습니다.이거 있어요.

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

추가 수표가 필요합니다field1 != ""예를 들어 다음과 같습니다.

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

어떻게 할 건지 알아?

어느쪽이든 사용

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')하지만 빈 문자열에는 적합하지 않습니다.

사용해보십시오.nullif:

SELECT ifnull(nullif(field1,''),'empty') AS field1
  FROM tablename;

다른 방법으로도 사용할 수 있습니다.CASE같은 경우:

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

내부 기능을 사용할 수 있습니다.IF이렇게 하면 조금 짧아지고 필드 이름의 반복이 줄어듭니다.

SELECT IF(IFNULL(field1, '') = '', 'empty', field1) AS field1 
FROM tablename

쉽게 할 수 있는 기능을 만들 수 있습니다.

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

트리밍과 비교를 통해 필드의 빈 문자, 탭 문자 또는 공백 문자 내용도 처리합니다.

SELECT
    CASE
        WHEN LTRIM(RTRIM(col_1))='' or col_1 IS NULL THEN 'Not available'
        ELSE col_1
    END AS col_alias
FROM
    my_table
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

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

언급URL : https://stackoverflow.com/questions/17832906/how-to-check-if-field-is-null-or-empty-in-mysql

반응형