[SQL] 어떻게 필드가 null 또는 빈 MySQL의 경우 확인?
SQL어떻게 필드가 null 또는 빈 MySQL의 경우 확인?
나는 필드가 null 또는 비어가 있는지 확인하는 방법을 알아 내려고 노력하고있다. 나는 이것을 가지고있다
SELECT IFNULL(field1, 'empty') as field1 from tablename
나는 추가 검사의 필드 1을 추가해야합니다! = ""같은 것을
SELECT IFNULL(field1, 'empty') OR field1 != "" as field1 from tablename
모든 아이디어를 어떻게 이러한 목표를 달성하기 위해?
해결법
-
==============================
1.어느 사용
어느 사용
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)과하지 확인하고 싶은 경우에 당신은 또한 ( '비우'필드 1) IFNULL () 또는 유착을 사용할 수 있습니다. 하지만 그 빈 문자열에 적합하지 않습니다.
-
==============================
2.또는 당신은 또한 같은위한 CASE를 사용할 수 있습니다 :
또는 당신은 또한 같은위한 CASE를 사용할 수 있습니다 :
SELECT CASE WHEN field1 IS NULL OR field1 = '' THEN 'empty' ELSE field1 END AS field1 FROM tablename.
-
==============================
3.당신은 IF 내부 IFNULL 기능을 사용할 수 있습니다. 이 조금 짧은 것, 및 필드 이름의 적은 반복이있을 것이다.
당신은 IF 내부 IFNULL 기능을 사용할 수 있습니다. 이 조금 짧은 것, 및 필드 이름의 적은 반복이있을 것이다.
SELECT IF(IFNULL(field1, '') = '', 'empty', field1) AS field1 FROM tablename
-
==============================
4.당신이 쉽게 할 수있는 기능을 만들 수 있습니다.
당신이 쉽게 할 수있는 기능을 만들 수 있습니다.
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
-
==============================
5.NULLIF를 사용해보십시오 :
NULLIF를 사용해보십시오 :
SELECT ifnull(nullif(field1,''),'empty') AS field1 FROM tablename;
-
==============================
6.
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
-
==============================
7.당신이 PHP에서 확인하고 싶은 경우에, 당신은 뭔가를해야한다 :
당신이 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!"; }
from https://stackoverflow.com/questions/17832906/how-to-check-if-field-is-null-or-empty-mysql by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] java.sql의 날짜 시간 동등한? (A java.sql.datetime가?) (0) | 2020.07.22 |
---|---|
[SQL] 고유 값을 계산 (0) | 2020.07.22 |
[SQL] JSON 문자열을 저장하기위한 최적의 SQL 데이터 타입은 무엇입니까? (0) | 2020.07.22 |
[SQL] MySQL을 SQL 서버에 해당 지금의 ()? (0) | 2020.07.22 |
[SQL] PostgreSQL의에서 '이 복사'중 중복 키를 무시하려면 (0) | 2020.07.22 |