필드가 있는지 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;
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!";
}
$isnull = (empty($ertom['YOUROWNAME']) ? empty : not empty);
좀 더 짧습니다 ..