2011-08-30 4 views
11

테이블에서 최대 열을 선택했습니다. 그러나 한 가지 문제가 있습니다. 테이블에 행이 없으면 null을 반환합니다.Mysql의 Oracle 함수 NVL과 동일한 기능이 있습니까?

결과가 null 인 경우 특정 값을 반환하는 함수를 사용하고 싶습니다. 예를 들어 오라클의 경우 열이 null 인 경우 특정 값을 제공하는 NVL 함수가 있습니다. MySQL에 상응하는 함수가 있습니까?

답변

16
select coalesce(column_name, 'NULL VALUE') from the_table 
+3

이것은 NVL의 SQL 표준 버전이며 Oracle에서도 작동합니다 (9i 이후로). – Thilo

+0

질문은 묻습니다 _ "하지만 한 가지 문제가 있습니다 : 테이블에 행이 없으면 null을 반환합니다."_ 그러나 병합하면 해결되지 않습니다. 행이 반환되지 않으면 행이 반환되지 않습니다. 모든 행은 일부 열이 반환되면 특정 열에 대해 null이 아닌 값을 보장합니다. * 그렇지만 oracle에는 nvl도 없습니다. – Adam

+0

@ Adam. 테이블에 행이 없더라도 집계 함수'max'는 단일 행 (null이 있음)을 리턴합니다. 모든 병합 (그리고 모든 질문에 대한 질문) null을 기본값으로 변경됩니다. – Thilo

관련 문제