반응형
SELECT max (x)가 null을 반환합니다. 0을 반환하려면 어떻게해야합니까?
다음 명령을 실행할 때 null 대신 0을 반환하는 방법 :
SELECT MAX(X) AS MaxX
FROM tbl
WHERE XID = 1
(XID = 1 인 행이 없다고 가정)
SQL 2005/2008 :
SELECT ISNULL(MAX(X), 0) AS MaxX
FROM tbl WHERE XID = 1
또는:
SELECT coalesce(MAX(X), 0) AS MaxX
FROM tbl
WHERE XID = 1
다음과 같이 (MySQL의 경우) :
SELECT IFNULL(MAX(X), 0) AS MaxX
FROM tbl
WHERE XID = 1
MSSQL의 경우 교체 IFNULL
와 함께 ISNULL
또는 Oracle 사용NVL
COALESCE (expression [, ... n])를 사용할 수도 있습니다. 다음과 같이 null이 아닌 첫 번째를 반환합니다.
SELECT COALESCE(MAX(X),0) AS MaxX
FROM tbl
WHERE XID = 1
오라클은
SELECT NVL(MAX(X), 0) AS MaxX
FROM tbl
WHERE XID = 1;
OLEDB의 경우 다음 쿼리를 사용할 수 있습니다.
select IIF(MAX(faculty_id) IS NULL,0,MAX(faculty_id)) AS max_faculty_id from faculties;
IFNULL이 작동하지 않기 때문에
사용중인 제품에 따라 다르지만 대부분은
SELECT IFNULL(MAX(X), 0, MAX(X)) AS MaxX FROM tbl WHERE XID = 1
또는
SELECT CASE MAX(X) WHEN NULL THEN 0 ELSE MAX(X) FROM tbl WHERE XID = 1
참고 URL : https://stackoverflow.com/questions/1688715/select-maxx-is-returning-null-how-can-i-make-it-return-0
반응형
'UFO ET IT' 카테고리의 다른 글
프로그래밍 방식으로 UISegmentedControl 텍스트 (0) | 2020.11.25 |
---|---|
RGB 값에 대한 추가 색상 혼합 알고리즘 (0) | 2020.11.25 |
사용자 지정 유효성 검사 요약 템플릿 Asp.net MVC 3 (0) | 2020.11.25 |
배경 크기를 에뮬레이트하는 방법 : 커버 (0) | 2020.11.25 |
Python 가져 오기 코딩 스타일 (0) | 2020.11.25 |