mirror of
https://github.com/postgres/postgres.git
synced 2026-03-01 21:01:12 -05:00
79 lines
1.3 KiB
MySQL
79 lines
1.3 KiB
MySQL
|
|
--
|
||
|
|
-- case.sql
|
||
|
|
--
|
||
|
|
-- Test the case statement
|
||
|
|
|
||
|
|
--
|
||
|
|
-- Simplest examples without involving tables
|
||
|
|
--
|
||
|
|
|
||
|
|
SELECT '' AS "One",
|
||
|
|
CASE
|
||
|
|
WHEN 1 < 2 THEN 3
|
||
|
|
END AS "One only = 3";
|
||
|
|
|
||
|
|
SELECT '' AS "One",
|
||
|
|
CASE
|
||
|
|
WHEN 1 > 2 THEN 3
|
||
|
|
END AS "One only = Null";
|
||
|
|
|
||
|
|
SELECT '' AS "One",
|
||
|
|
CASE
|
||
|
|
WHEN 1 < 2 THEN 3
|
||
|
|
ELSE 4
|
||
|
|
END AS "One with default = 3";
|
||
|
|
|
||
|
|
SELECT '' AS "One",
|
||
|
|
CASE
|
||
|
|
WHEN 1 > 2 THEN 3
|
||
|
|
ELSE 4
|
||
|
|
END AS "One with default = 4";
|
||
|
|
|
||
|
|
SELECT '' AS "One",
|
||
|
|
CASE
|
||
|
|
WHEN 1 > 2 THEN 3
|
||
|
|
WHEN 4 < 5 THEN 6
|
||
|
|
ELSE 7
|
||
|
|
END AS "Two with default = 6";
|
||
|
|
|
||
|
|
--
|
||
|
|
-- Examples of targets involving tables
|
||
|
|
--
|
||
|
|
|
||
|
|
SELECT '' AS "Five",
|
||
|
|
CASE
|
||
|
|
WHEN f1 >= 0 THEN f1
|
||
|
|
END AS ">= 0 or Null"
|
||
|
|
FROM INT4_TBL;
|
||
|
|
|
||
|
|
SELECT '' AS "Five",
|
||
|
|
CASE WHEN f1 >= 0 THEN (f1 - f1)
|
||
|
|
ELSE f1
|
||
|
|
END AS "Simplest Math"
|
||
|
|
FROM INT4_TBL;
|
||
|
|
|
||
|
|
SELECT '' AS "Five", f1 AS "Value",
|
||
|
|
CASE WHEN (f1 < 0) THEN 'small'
|
||
|
|
WHEN (f1 = 0) THEN 'zero'
|
||
|
|
WHEN (f1 = 1) THEN 'one'
|
||
|
|
WHEN (f1 = 2) THEN 'two'
|
||
|
|
ELSE 'big'
|
||
|
|
END AS "Category"
|
||
|
|
FROM INT4_TBL;
|
||
|
|
|
||
|
|
/*
|
||
|
|
SELECT '' AS "Five",
|
||
|
|
CASE WHEN ((f1 < 0) or (i < 0)) THEN 'small'
|
||
|
|
WHEN ((f1 = 0) or (i = 0)) THEN 'zero'
|
||
|
|
WHEN ((f1 = 1) or (i = 1)) THEN 'one'
|
||
|
|
WHEN ((f1 = 2) or (i = 2)) THEN 'two'
|
||
|
|
ELSE 'big'
|
||
|
|
END AS "Category"
|
||
|
|
FROM INT4_TBL;
|
||
|
|
*/
|
||
|
|
|
||
|
|
--
|
||
|
|
-- Examples of qualifications involving tables
|
||
|
|
--
|
||
|
|
|