programing

포스트그레가 뭐죠?ISNULL()에 상당하는 SQL

skycolor 2023. 4. 7. 21:04
반응형

포스트그레가 뭐죠?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

반응형