MySQL IF NOT NULL, 다음 표시 1, 그렇지 않으면 표시 0
나는 여기에서 약간의 디스플레이 컴 플리케이션으로 작업하고 있습니다. 내가 간과하는 IF / ELSE 기능이 있다고 확신합니다.
쿼리중인 테이블이 2 개 있습니다 (고객, 주소). 첫 번째 레코드에는 주 레코드가 있지만 두 번째 레코드에는 LEFT JOIN 대상 레코드가있을 수도 있고 없을 수도 있습니다.
주소 테이블에 레코드가 없으면 0을 표시하고 싶습니다. 그리고 레코드가있는 경우 1 만 표시하고 싶습니다.
내가 지금까지 시도한 것 :
SELECT c.name, COALESCE(a.addressid,0) AS addressexists
FROM customers c
LEFT JOIN addresses a ON c.customerid = a.customerid
WHERE customerid = 123
이 첫 번째 예는 그렇게하지 않습니다. 그러나 COALESCE를 잘못 사용하고있을 수 있습니다.
null 인 경우 0을 표시하고 존재하는 경우 1을 표시하려면 어떻게해야합니까?
대신 다음을 COALESCE(a.addressid,0) AS addressexists
사용하십시오 CASE
.
CASE WHEN a.addressid IS NOT NULL
THEN 1
ELSE 0
END AS addressexists
또는 더 간단합니다.
(a.addressid IS NOT NULL) AS addressexists
때문에이 작품 TRUE
으로 표시됩니다 1
MySQL의에서와 FALSE
같은 0
.
SELECT c.name, IF(a.addressid IS NULL,0,1) AS addressexists
FROM customers c
LEFT JOIN addresses a ON c.customerid = a.customerid
WHERE customerid = 123
C / C ++에서 왔고 이것이 작동 할 것으로 기대한다면주의하세요.
select if(name, 1, 0) ..
C에서와 달리 'name'이 NULL이 아니더라도 false-condition이 트리거되고 위의 문은 0을 반환합니다. 따라서 NULL 또는 빈 문자열을 명시 적으로 확인해야합니다.
select if(name is null or name = '', 0, 1)
위의 PS Eugen의 예는 맞지만 놀라움에 사로 잡힌이 뉘앙스를 명확히하고 싶었습니다.
SELECT
c.name,
CASE WHEN a.addressid IS NULL THEN 0 ELSE 1 END AS addressexists
FROM customers c
LEFT JOIN addresses a ON c.customerid = a.customerid
WHERE customerid = 123
WHERE없이 다른 방법을 시도해보세요 ..
비어있는 값과 NULL 값을 모두 선택합니다.
SELECT ISNULL(NULLIF(fieldname,'')) FROM tablename
빈 문자열이면 null로 설정되고 그에 대해서도 true가됩니다.
TSQL 내에서 시도해 볼 수 있습니다.
SELECT IIF(a.addressid IS NULL, 0, 1) AS addressexists
SQL Server가 작동해야합니다.
실제로 최신 버전의 MySQL에서 IF 문을 사용할 수 있습니다.
IF(expr,if_true_expr,if_false_expr)
IE :
SELECT name, IF(ISNULL(name), 'robot', 'human') AS type
FROM visitors
참고 URL : https://stackoverflow.com/questions/9387839/mysql-if-not-null-then-display-1-else-display-0
'developer tip' 카테고리의 다른 글
Android에서 레이아웃의 방향 변경을 감지하는 방법은 무엇입니까? (0) | 2020.08.24 |
---|---|
PHP에서 두 날짜 사이의 시간 계산 (0) | 2020.08.24 |
AngularJS-필터의 빈 결과에 대한 자리 표시 자 (0) | 2020.08.24 |
Swift에서 문자열을 Base64로 인코딩하려면 어떻게해야합니까? (0) | 2020.08.24 |
Eclipse 프로젝트에서 Maven 종속성 누락 (0) | 2020.08.24 |