[SQL] MySQL은 : 0에 NULL를 타입 캐스팅
SQLMySQL은 : 0에 NULL를 타입 캐스팅
우리는 다음 표를 가정하자 (예를 들어, 내부는 문을 조인 여러 결과)
id | column_1 | column_2
------------------------
1 | 1 |
2 | 2 | 2
3 | | 3
어떤 당신은 예를 들어 다음과 같은 문에서 얻을 수 있습니다 :
select a.id, t1.column_1, t2.column_2
from a
left join t1 on a.id = t1.id
left join t2 on a.id = t2.id
다음과 같이 지금, 나는 t1.column_1 및 t2.column_2을 요약하려는 경우
select
a.id,
t1.column_1,
t2.column_2,
(t1.column_1 + t2.column_2) as cumulated
from a
left join t1 on a.id = t1.id
left join t2 on a.id = t2.id
다음과 같이 결과가 보일 것이다 :
id | column_1 | column_2 | cumulated
------------------------------------
1 | 1 | NULL | NULL
2 | 2 | 2 | 4
3 | NULL | 3 | NULL
내 질문은 기본적으로 : 방법이 몇 가지 계산을하기 위해 0으로 배역 NULL 거기에있다?
나는 CONVERT (t1.column_1, 서명) 및 (서명 등 t1.column_1) CAST를 시도하지만 NULL의 숙박에 NULL있다.
해결법
-
==============================
1.사용 IFNULL (열, 0)는 0에 열 값을 변환합니다. 대안 적으로, 병합 기능을 제외하고 동일한 것을 수행한다 (1) COALESCE는 IFNULL는 ANSI 호환되지 않고, 그리고 (2) COALESCE 컬럼 / 값의 임의의 수를 취하여 전달 된 최초의 비 - 널 (null) 값을 리턴 .
사용 IFNULL (열, 0)는 0에 열 값을 변환합니다. 대안 적으로, 병합 기능을 제외하고 동일한 것을 수행한다 (1) COALESCE는 IFNULL는 ANSI 호환되지 않고, 그리고 (2) COALESCE 컬럼 / 값의 임의의 수를 취하여 전달 된 최초의 비 - 널 (null) 값을 리턴 .
from https://stackoverflow.com/questions/1441333/mysql-typecasting-null-to-0 by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] SQL 관리 스튜디오에서 CommandTimeout이 변경 (0) | 2020.05.23 |
---|---|
[SQL] EXISTS보다 내부가 제공하는 더 나은 성능을 가입 할 수 있습니다 (0) | 2020.05.23 |
[SQL] SQL 서버 그룹에 의해 누적 합계 (0) | 2020.05.23 |
[SQL] 어떻게 내 SQL 데이터베이스에 많은 관계로 하나를 저장? (MySQL의) (0) | 2020.05.23 |
[SQL] MySQL은 사용자 로그인을 못하게 : 오류 1524 (0) | 2020.05.23 |