반응형
PostgreSQL에는 nvl 함수가 없습니다.
Oracle과 같은 데이터베이스에서는 nvl 함수를 사용하여 NULL 값일 때 대체 값을 지정할 수 있지만, PostgreSQL에서는 COALESCE 함수를 사용하여 동일한 작업을 수행할 수 있습니다.
예를 들어, **column1**이 NULL일 때 column2 값을 대체하려면 다음과 같이 COALESCE 함수를 사용할 수 있습니다:
SELECT COALESCE(column1, column2) FROM table_name;
위의 쿼리는 **column1**이 NULL이 아니면 column1 값을 반환하고, NULL이면 column2 값을 반환합니다.
하지만 **column1**이 NULL이 아니라 빈값일 경우 column1 을 반환 하며
NULLIF()함수를 사용하여 빈 문자열('')을 NULL 값으로 변환하고, 이후 **COALESCE()**함수를 사용하여 NULL 값을 다른 값으로 대체할 수 있습니다.
다음과 같이 **NULLIF()**와 COALESCE() 함수를 조합해서 사용할 수 있습니다SELECT COALESCE(NULLIF(age, ''), 'N/A') AS age_str FROM my_table;
SELECT COALESCE(NULLIF(age, ''), 'N/A') AS age_str FROM my_table;
위의 쿼리에서 NULLIF(age, '')는 age 컬럼이 빈 문자열('')인 경우 NULL 값을 반환합니다. 따라서, COALESCE(NULLIF(age, ''), 'N/A')는 age 컬럼이 빈 문자열('')이거나 NULL 값인 경우 'N/A' 값을 반환합니다.
반응형
'WEB > SQL' 카테고리의 다른 글
오라클 DDL 문 작성시 날짜와시간을 넣을 컬럼 작성방법 (0) | 2023.04.12 |
---|---|
마이바티스 Mybatis foreach collection 사용하는 방법 (0) | 2023.04.07 |
oracle 과 mariaDb 의 차이점 (0) | 2020.08.10 |
sql join 문 한눈에 쉽게 이해하기 (0) | 2017.12.08 |
dual table (dummy table) 활용 하기 (0) | 2016.02.23 |