빈 결과 세트를 선택하려면 어떻게 해야 합니까?
CASE 스테이트먼트와 함께 MySQL 스토어드 프로시저를 사용하고 있습니다.
CASE의 ELSE 절(디폴트:에 상당)에서 빈 결과 세트를 선택하여 반환함으로써 EASE 케이스를 처리하지 않음SQL 오류를 회피하고 일반 쿼리에서 행이 반환되지 않은 것처럼 빈 결과 세트를 반환합니다.
지금까지 저는 다음과 같은 방법으로 작업을 수행해 왔습니다.
Select NULL From users Where False
그러나 이 예의 'users'와 같이 기존 테이블의 이름을 지정해야 합니다.작동하지만, 사용한 테이블 이름이 변경되거나 삭제되어도 깨지지 않는 방법을 원합니다.
해봤어요Select NULL Where False
효과가 없어요.
사용.Select NULL
는 빈 세트를 반환하지 않고 컬럼이 NULL이고 값이 NULL인 행을 1개 반환합니다.
MySQL에는 'dual'이라는 더미 테이블이 있는데, 이 테이블을 사용할 수 있어야 합니다.
select
1
from
dual
where
false
이렇게 하면 항상 빈 결과가 나타납니다.
이는 Postgres 및 Netezza에서 테스트된 대부분의 DB에서 작동합니다.
SELECT NULL LIMIT 0;
T-SQL(MSSQL):
SELECT Top 0 1;
어때.
SELECT * FROM (SELECT 1) AS TBL WHERE 2=3
myphp를 확인했는데 sqlite에서도 동작하고 다른 DB 엔진에서도 동작합니다.
이것은 아마 모든 데이터베이스에서 동작할 것입니다.
SELECT * FROM (SELECT NULL AS col0) AS inner0 WHERE col0 IS NOT NULL;
SELECT TOP 0 * FROM [dbo].[TableName]
이는 지속적인 스캔 오퍼레이터에 대한 합리적인 접근법입니다.
SELECT NULL WHERE FALSE;
mysql의 postgresql, subquery로 동작합니다.
이건 어때?
SELECT 'MyName' AS EmptyColumn
FROM dual
WHERE 'Me' = 'Funny'
SELECT * FROM (SELECT NULL) WHERE 0
포스트그레SQL a simple
SELECT;
효과가 있습니다. '알 수 없음'이라는 라벨이 붙은 열도 표시되지 않습니다.
단, 1행은 취득되었다고 표시되어 있습니다.
언급URL : https://stackoverflow.com/questions/1456106/how-to-select-an-empty-result-set
'programing' 카테고리의 다른 글
MariaDB on Debian:구문 오류:unix 소켓 인증을 패스워드 베이스로 되돌리는 방법 (0) | 2022.11.10 |
---|---|
bash에서 MySQL 명령을 실행하는 방법 (0) | 2022.11.10 |
jQuery를 사용하여 동적 HTML 요소에 이벤트를 첨부하려면 어떻게 해야 합니까? (0) | 2022.11.10 |
MySql DateTime 스탬프를 JavaScript의 Date 형식으로 변환합니다. (0) | 2022.11.01 |
JavaScript 어레이를 랜덤화(shuffle)하는 방법 (0) | 2022.11.01 |