Difference between revisions of "CASE"
From SQLZOO
(Created page with "<table align='right' border='1'> <caption>Compatibility</caption> <tr><th colspan='3'>CASE WHEN b1 THEN v1 END</th></tr> <tr><td align='center'>'''Engine'''</td><td align='cen...") |
|||
| Line 22: | Line 22: | ||
<source lang='sql' class='def'> | <source lang='sql' class='def'> | ||
SELECT name, population | SELECT name, population | ||
| − | ,CASE WHEN population<1000000 THEN 'small' | + | ,CASE WHEN population<1000000 |
| − | WHEN population<10000000 THEN 'medium' | + | THEN 'small' |
| + | WHEN population<10000000 | ||
| + | THEN 'medium' | ||
ELSE 'large' | ELSE 'large' | ||
END | END | ||
Revision as of 10:45, 13 July 2012
| CASE WHEN b1 THEN v1 END | ||
|---|---|---|
| Engine | OK | Alternative |
| ingres | Yes | |
| mysql | Yes | |
| oracle | Yes | |
| postgres | Yes | |
| sqlserver | Yes | |
CASE
CASE allows you to return different values under different conditions.
If there no conditions match (and there is not ELSE) then NULL is returned.
CASE WHEN condition1 THEN value1
WHEN condition2 THEN value2
ELSE def_value
END
SELECT name, population ,CASE WHEN population<1000000 THEN 'small' WHEN population<10000000 THEN 'medium' ELSE 'large' END FROM bbc
See also