728x90
반응형
질문 : SQL SELECT에서 IF… THEN을 어떻게 수행합니까?
SQL SELECT
문에서 IF...THEN
을 어떻게 수행합니까?
예를 들면 :
SELECT IF(Obsolete = 'N' OR InStock = 'Y' ? 1 : 0) AS Saleable, * FROM Product
답변
CASE
문은 SQL의 IF에 가장 가깝고 모든 버전의 SQL Server에서 지원됩니다.
SELECT CAST(
CASE
WHEN Obsolete = 'N' or InStock = 'Y'
THEN 1
ELSE 0
END AS bit) as Saleable, *
FROM Product
결과를 부울 값으로 원하는 경우 CAST
를 수행하면됩니다. int
만족하면 다음과 같이 작동합니다.
SELECT CASE
WHEN Obsolete = 'N' or InStock = 'Y'
THEN 1
ELSE 0
END as Saleable, *
FROM Product
CASE
문은 다른 CASE
문에 포함될 수 있으며 집계에도 포함될 수 있습니다.
SQL Server Denali (SQL Server 2012)는 액세스 에서도 사용할 수 있는 IIF 문을 추가합니다 ( Martin Smith가 지적함 ).
SELECT IIF(Obsolete = 'N' or InStock = 'Y', 1, 0) as Saleable, * FROM Product
출처 : https://stackoverflow.com/questions/63447/how-do-i-perform-an-if-then-in-an-sql-select
728x90
반응형
'프로그래밍 언어 > Database' 카테고리의 다른 글
ATTACH로 열린 SQLite 데이터베이스 파일의 테이블을 나열하는 방법 (0) | 2021.06.12 |
---|---|
SQL Server의 기존 테이블에 기본값이있는 열 추가 (0) | 2021.06.12 |
MySQL에서 새 사용자를 만들고 하나의 데이터베이스에 대한 전체 액세스 권한을 부여합니다. (0) | 2021.06.10 |
MySQL 데이터베이스에서 단일 테이블을 백업하는 방법 (0) | 2021.06.10 |
mysql 데이터베이스의 크기를 얻는 방법 (0) | 2021.06.09 |