[SQL] 매개 변수가 모두 선택 null의 경우 SQL 쿼리
SQL매개 변수가 모두 선택 null의 경우 SQL 쿼리
나는 다음과 같은 쿼리를했습니다 :
SELECT NAME, SURNAME FROM MY_TABLE WHERE NAME = ?;
지금 나는 경우가 원하는 '?' NULL은 모든 레코드가 선택되어야한다. 어떻게 SQL에서 이것을 달성 할 수 있습니까? 감사
해결법
-
==============================
1.또한, 유착이, NVL, ISNULL가 null 값을 확인 IFNULL 기능을 사용할 수 있습니다. 그것은 당신의 RDBMS에 따라 달라집니다.
또한, 유착이, NVL, ISNULL가 null 값을 확인 IFNULL 기능을 사용할 수 있습니다. 그것은 당신의 RDBMS에 따라 달라집니다.
MySQL은 :
SELECT NAME, SURNAME FROM MY_TABLE WHERE NAME = IFNULL(?,NAME);
또는
SELECT NAME, SURNAME FROM MY_TABLE WHERE NAME = COALESCE(?,NAME);
신탁:
SELECT NAME, SURNAME FROM MY_TABLE WHERE NAME = NVL(?,NAME);
SQL 서버 / SYBASE :
SELECT NAME, SURNAME FROM MY_TABLE WHERE NAME = ISNULL(?,NAME);
-
==============================
2.이 시도:
이 시도:
SELECT * FROM MY_TABLE WHERE @parameter IS NULL OR NAME = @parameter;
-
==============================
3.FOLL. 이름 (테이블 열 값)도 NULL이 될 수있는 쿼리는 경우를 처리합니다 :
FOLL. 이름 (테이블 열 값)도 NULL이 될 수있는 쿼리는 경우를 처리합니다 :
SELECT NAME, SURNAME FROM MY_TABLE WHERE COALESCE(NAME,'') = COALESCE(?,NAME,'');
-
==============================
4.
SELECT NAME FROM MY_TABLE WHERE NAME LIKE CASE WHEN ? IS NOT NULL THEN ? ELSE '%' END
이 완벽하게 작동하지만 그것은 단지 null이 아닌 값을 반환합니다.
from https://stackoverflow.com/questions/13474207/sql-query-if-parameter-is-null-select-all by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] 행 번호는 SQL 쿼리의 결과 집합에 추가 (0) | 2020.06.26 |
---|---|
[SQL] 어떻게 SQL SELECT 문에서 패키지 상수를 사용 하는가? (0) | 2020.06.26 |
[SQL] 시간없이 날짜 만 아는하여 테이블에서 선택 (ORACLE) (0) | 2020.06.26 |
[SQL] SQL : CASE 문에있는 사용을위한 별칭 열 이름 (0) | 2020.06.26 |
[SQL] A의 필드의 순서는 WHERE 절 MySQL의 성능에 영향을 미칩니 까? (0) | 2020.06.26 |