IF...THEN in an SQL SELECT statement
The simple case:Syntax :
SELECT CASE <variable> WHEN <value> THEN <returnvalue>
WHEN <othervalue> THEN <returnthis>
ELSE <returndefaultcase>
END
FROM <table>
Example:
SELECT Working = CASEWHEN 'N' THEN 'NO' ELSE 'YES' ENDActiveEmp
The extended case:Syntax :
SELECT CASE WHEN <test> THEN <returnvalue>
WHEN <othertest> THEN <returnthis>
ELSE <returndefaultcase>
END
FROM <table>
Example:
SELECT CASE WHENActiveEmp = 'N' THEN 'NO'
WHENActiveEmp = 'Y' THEN 'YES'
ELSE 'INVALID'
END
FROM EMPLOYEE_MASTER
SQL Server 2012 you can use the IIF Function for this.
Syntax :
SELECT IIF(<test>,<returnthis>,<returndefaultcase>) AS<variable>, * FROM<table>
Example:
SELECT IIF(Reorder = 'N' or InStock = 'Y', 1, 0) AS OrderOut, * FROMStockMaster
In a where clause, use:
Syntax :
where 1 = case when Obsolete = 'N' or InStock = 'Y' then 1 else 0 end
No comments:
Post a Comment