[SQL] PostgreSQL의에서 NULL 값을 처리하기 위해 COALESCE을 사용하여
SQLPostgreSQL의에서 NULL 값을 처리하기 위해 COALESCE을 사용하여
나는 다음과 같은 쿼리를 가지고
SELECT DISTINCT
pt.incentive_marketing,
pt.incentive_channel,
pt.incentive_advertising
FROM test.pricing pt
WHERE pt.contract_id = 90000
group by 1,2,3
order by pt.incentive_marketing;
첨부 된 이미지와 같이 상기 질의는 O / P를 반환
그러나 나는 유착을 사용하여 0 모든 널 (null) 값을 대체 할 날이가 SELECT 질의 위 달성 될 수있는 방법을 알려주세요
지금은 더 아래로 병합을 사용하여 쿼리를 수정
SELECT
COALESCE( pt.incentive_marketing, '0' ),
COALESCE(pt.incentive_channel,'0'),
COALESCE( pt.incentive_advertising,'0')
FROM test.pricing pt
WHERE pt.contract_id = 90000
group by 1,2,3
결과는 이미지 2에서 부착된다.
나는 아직도 빈 값을 하나 개의 행을받을
해결법
-
==============================
1.당신은 짧고 효율적인 솔루션을 NULLIF와 함께 유착을 사용할 수 있습니다 :
당신은 짧고 효율적인 솔루션을 NULLIF와 함께 유착을 사용할 수 있습니다 :
COALESCE( NULLIF(yourField,'') , '0' )
yourField (이 경우 '') 두 번째 값에 해당되는 경우 NULLIF 함수는 COALESCE 함수는 완전히 모든 경우에 작동하고, 널 (null)을 반환합니다 :
QUERY | RESULT --------------------------------------------------------------------------------- SELECT COALESCE(NULLIF(null ,''),'0') | '0' SELECT COALESCE(NULLIF('' ,''),'0') | '0' SELECT COALESCE(NULLIF('foo' ,''),'0') | 'foo'
-
==============================
2.0을 사용하고 있고 지정 빈 문자열 ''와 널 (null)이 정의되지 않은 경우는 데이터 문제가 생겼어요. 그냥 열을 업데이트하고 스키마를 수정.
0을 사용하고 있고 지정 빈 문자열 ''와 널 (null)이 정의되지 않은 경우는 데이터 문제가 생겼어요. 그냥 열을 업데이트하고 스키마를 수정.
UPDATE pt.incentive_channel SET pt.incentive_marketing = NULL WHERE pt.incentive_marketing = ''; UPDATE pt.incentive_channel SET pt.incentive_advertising = NULL WHERE pt.incentive_marketing = ''; UPDATE pt.incentive_channel SET pt.incentive_channel = NULL WHERE pt.incentive_marketing = '';
이 가입하고 선택 실질적으로 쉽게 전진 할 것입니다.
from https://stackoverflow.com/questions/27479180/using-coalesce-to-handle-null-values-in-postgresql by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] 포스트 그레스에서 5 분 잘라 내기 타임 스탬프 가장 빠른 방법은 무엇입니까? (0) | 2020.07.22 |
---|---|
[SQL] PostgreSQL의 쿼리에 대한 데이터가없는 일 및 디스플레이 일에 의해 계산 / 그룹 (0) | 2020.07.22 |
[SQL] 어떻게 SQL 서버의 버전이 컴퓨터에서 실행 무엇을 알 수 있습니까? (0) | 2020.07.22 |
[SQL] java.sql의 날짜 시간 동등한? (A java.sql.datetime가?) (0) | 2020.07.22 |
[SQL] 고유 값을 계산 (0) | 2020.07.22 |