programing

MySQL IFNULL 기타

firstcheck 2022. 9. 5. 23:59
반응형

MySQL IFNULL 기타

선택을 다음과 같이 조건부로 하는 select 문이 있습니다.

IFNULL(field_a, field_a, field_b)

필드 a를 체크하도록 합니다.a가 늘일 경우 필드 b가 선택됩니다.

가능할까요?

COALESCE 사용:

SELECT COALESCE(field_a, field_b)

COALESCE는 지정된 열 목록에서 Null이 아닌 첫 번째 값을 반환하고 열을 왼쪽에서 오른쪽으로 처리하는 ANSI 표준 함수입니다.이 예에서는,field_anull 입니다.field_b값이 표시됩니다.그러나 이 함수는 지정된 열에 NULL이 아닌 값이 없는 경우 NULL을 반환합니다.

MySQL(4.1에서 사용), SQL Server(2000년 이후), Oracle 9i+에서 지원됩니다.

고양이 가죽을 벗기는 또 다른 방법(비교만 하는 게 아니라)...

select if(field_a is not null, field_a, field_b) from...

네, 하지만 두 가지 매개 변수일 뿐이에요

IFNULL(field_a,field_b)

한다면field_anull이 아닙니다.반환됩니다.그렇지않으면field_b반환됩니다.

레퍼런스: IFNULL

자세한 예에 대해서는

MySQL IFNULL() 구문 및 예

구문

IFNULL 함수의 구문은 다음과 같습니다.

IFNULL(expression_1,expression_2);

   SELECT 
     name, IFNULL(businessphone, homephone) phone
 FROM
     users;



       #The above query return this result from users table

   +------------+-----------+----------+-----------
   | id        | name           | phone          |
   +------------+-----------+----------+-----------
   | 5         | Tommy Hill     | (541) 754-3009 |
   | 6         | John Smith     | (541) 754-3110 | 
   | 10        | Mark Greenspan | (541) 754-3111 | 
   | 11        | Kelvin Row     | (541) 754-3111 |
   +------------+-----------+----------+-----------

언급URL : https://stackoverflow.com/questions/3215454/mysql-ifnull-else

반응형