반응형
포스트그레가 뭐죠?ISNULL()에 상당하는 SQL
MS SQL-Server에서는 다음을 수행할 수 있습니다.
SELECT ISNULL(Field,'Empty') from Table
하지만 Postgre에서는SQL 구문 오류가 발생합니다.어떻게 하면ISNULL()
기능성?
SELECT CASE WHEN field IS NULL THEN 'Empty' ELSE field END AS field_alias
또는 보다 관용적인 방법:
SELECT coalesce(field, 'Empty') AS field_alias
사용하다COALESCE()
대신:
SELECT COALESCE(Field,'Empty') from Table;
이 기능은 다음과 같습니다.ISNULL
단, 더 많은 기능을 제공합니다.병합은 목록에서 null이 아닌 첫 번째 값을 반환합니다.다음과 같이 됩니다.
SELECT COALESCE(null, null, 5);
5를 반환하고,
SELECT COALESCE(null, 2, 5);
반환 2
병합에는 많은 인수가 필요합니다.문서화된 최대값은 없습니다.나는 100개의 인수를 테스트했고 성공했습니다.이것은 대부분의 상황에서 충분할 것이다.
ISNULL() 기능을 에뮬레이트하려면 어떻게 해야 하나요?
SELECT (Field IS NULL) FROM ...
시험:
SELECT COALESCE(NULLIF(field, ''), another_field) FROM table_name
언급URL : https://stackoverflow.com/questions/2214525/what-is-the-postgresql-equivalent-for-isnull
반응형
'programing' 카테고리의 다른 글
SQL 서버에서 행을 열로 효율적으로 변환 (0) | 2023.04.07 |
---|---|
시간을 고려하지 않고 날짜 시간 열별로 그룹화하는 방법 (0) | 2023.04.07 |
SQL Server에서 SELECT를 업데이트하려면 어떻게 해야 합니까? (0) | 2023.04.07 |
하위 쿼리에서 여러 행을 단일 구분 필드로 "연결"하는 SQL Server 함수를 만드는 방법은 무엇입니까? (0) | 2023.04.07 |
ID 일치를 기반으로 한 테이블에서 다른 테이블로의 SQL 업데이트 (0) | 2023.04.07 |