반응형
SELECT max(x)가 null을 반환합니다. 0을 반환하려면 어떻게 해야 합니까?
다음 명령을 실행할 때 null 대신 0을 반환하는 방법은 무엇입니까?
SELECT MAX(X) AS MaxX
FROM tbl
WHERE XID = 1
(XID=1인 행이 없다고 가정)
또는:
SELECT coalesce(MAX(X), 0) AS MaxX
FROM tbl
WHERE XID = 1
SQL 2005/2008의 경우:
SELECT ISNULL(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(식 [, ...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
반응형
'itsource' 카테고리의 다른 글
SQL "IN" 절에서 튜플 사용 (0) | 2023.06.21 |
---|---|
LEA EAX, [EAX]의 의미는 무엇입니까? (0) | 2023.06.21 |
Android - Firebase - TaskSnapshot - Method는 개인 범위 내에서만 액세스해야 합니까? (0) | 2023.06.21 |
오류: C 스택 사용량이 제한에 너무 가깝습니다. (0) | 2023.06.21 |
PyCrypto AES-256을 사용한 암호화 및 암호 해독 (0) | 2023.06.21 |