<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://sqle.ru/index.php?action=history&amp;feed=atom&amp;title=SQL_Server%2FT-SQL%2FSelect_Query%2FCase</id>
		<title>SQL Server/T-SQL/Select Query/Case - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://sqle.ru/index.php?action=history&amp;feed=atom&amp;title=SQL_Server%2FT-SQL%2FSelect_Query%2FCase"/>
		<link rel="alternate" type="text/html" href="http://sqle.ru/index.php?title=SQL_Server/T-SQL/Select_Query/Case&amp;action=history"/>
		<updated>2026-04-04T02:27:07Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://sqle.ru/index.php?title=SQL_Server/T-SQL/Select_Query/Case&amp;diff=6038&amp;oldid=prev</id>
		<title> в 13:46, 26 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://sqle.ru/index.php?title=SQL_Server/T-SQL/Select_Query/Case&amp;diff=6038&amp;oldid=prev"/>
				<updated>2010-05-26T13:46:06Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 13:46, 26 мая 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
			</entry>

	<entry>
		<id>http://sqle.ru/index.php?title=SQL_Server/T-SQL/Select_Query/Case&amp;diff=6039&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://sqle.ru/index.php?title=SQL_Server/T-SQL/Select_Query/Case&amp;diff=6039&amp;oldid=prev"/>
				<updated>2010-05-26T10:21:04Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==A simple CASE takes an expression that equates to a Boolean result==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
1&amp;gt; create table employee(&lt;br /&gt;
2&amp;gt;     ID          int,&lt;br /&gt;
3&amp;gt;     name        nvarchar (10),&lt;br /&gt;
4&amp;gt;     salary      int,&lt;br /&gt;
5&amp;gt;     start_date  datetime,&lt;br /&gt;
6&amp;gt;     city        nvarchar (10),&lt;br /&gt;
7&amp;gt;     region      char (1))&lt;br /&gt;
8&amp;gt; GO&lt;br /&gt;
1&amp;gt;&lt;br /&gt;
2&amp;gt; insert into employee (ID, name,    salary, start_date, city,       region)&lt;br /&gt;
3&amp;gt;               values (1,  &amp;quot;Jason&amp;quot;, 40420,  &amp;quot;02/01/94&amp;quot;, &amp;quot;New York&amp;quot;, &amp;quot;W&amp;quot;)&lt;br /&gt;
4&amp;gt; GO&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
1&amp;gt; insert into employee (ID, name,    salary, start_date, city,       region)&lt;br /&gt;
2&amp;gt;               values (2,  &amp;quot;Robert&amp;quot;,14420,  &amp;quot;01/02/95&amp;quot;, &amp;quot;Vancouver&amp;quot;,&amp;quot;N&amp;quot;)&lt;br /&gt;
3&amp;gt; GO&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
1&amp;gt; insert into employee (ID, name,    salary, start_date, city,       region)&lt;br /&gt;
2&amp;gt;               values (3,  &amp;quot;Celia&amp;quot;, 24020,  &amp;quot;12/03/96&amp;quot;, &amp;quot;Toronto&amp;quot;,  &amp;quot;W&amp;quot;)&lt;br /&gt;
3&amp;gt; GO&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
1&amp;gt; insert into employee (ID, name,    salary, start_date, city,       region)&lt;br /&gt;
2&amp;gt;               values (4,  &amp;quot;Linda&amp;quot;, 40620,  &amp;quot;11/04/97&amp;quot;, &amp;quot;New York&amp;quot;, &amp;quot;N&amp;quot;)&lt;br /&gt;
3&amp;gt; GO&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
1&amp;gt; insert into employee (ID, name,    salary, start_date, city,       region)&lt;br /&gt;
2&amp;gt;               values (5,  &amp;quot;David&amp;quot;, 80026,  &amp;quot;10/05/98&amp;quot;, &amp;quot;Vancouver&amp;quot;,&amp;quot;W&amp;quot;)&lt;br /&gt;
3&amp;gt; GO&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
1&amp;gt; insert into employee (ID, name,    salary, start_date, city,       region)&lt;br /&gt;
2&amp;gt;               values (6,  &amp;quot;James&amp;quot;, 70060,  &amp;quot;09/06/99&amp;quot;, &amp;quot;Toronto&amp;quot;,  &amp;quot;N&amp;quot;)&lt;br /&gt;
3&amp;gt; GO&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
1&amp;gt; insert into employee (ID, name,    salary, start_date, city,       region)&lt;br /&gt;
2&amp;gt;               values (7,  &amp;quot;Alison&amp;quot;,90620,  &amp;quot;08/07/00&amp;quot;, &amp;quot;New York&amp;quot;, &amp;quot;W&amp;quot;)&lt;br /&gt;
3&amp;gt; GO&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
1&amp;gt; insert into employee (ID, name,    salary, start_date, city,       region)&lt;br /&gt;
2&amp;gt;               values (8,  &amp;quot;Chris&amp;quot;, 26020,  &amp;quot;07/08/01&amp;quot;, &amp;quot;Vancouver&amp;quot;,&amp;quot;N&amp;quot;)&lt;br /&gt;
3&amp;gt; GO&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
1&amp;gt; insert into employee (ID, name,    salary, start_date, city,       region)&lt;br /&gt;
2&amp;gt;               values (9,  &amp;quot;Mary&amp;quot;,  60020,  &amp;quot;06/09/02&amp;quot;, &amp;quot;Toronto&amp;quot;,  &amp;quot;W&amp;quot;)&lt;br /&gt;
3&amp;gt; GO&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
1&amp;gt;&lt;br /&gt;
2&amp;gt; select * from employee&lt;br /&gt;
3&amp;gt; GO&lt;br /&gt;
ID          name       salary      start_date              city       region&lt;br /&gt;
----------- ---------- ----------- ----------------------- ---------- ------&lt;br /&gt;
          1 Jason            40420 1994-02-01 00:00:00.000 New York   W&lt;br /&gt;
          2 Robert           14420 1995-01-02 00:00:00.000 Vancouver  N&lt;br /&gt;
          3 Celia            24020 1996-12-03 00:00:00.000 Toronto    W&lt;br /&gt;
          4 Linda            40620 1997-11-04 00:00:00.000 New York   N&lt;br /&gt;
          5 David            80026 1998-10-05 00:00:00.000 Vancouver  W&lt;br /&gt;
          6 James            70060 1999-09-06 00:00:00.000 Toronto    N&lt;br /&gt;
          7 Alison           90620 2000-08-07 00:00:00.000 New York   W&lt;br /&gt;
          8 Chris            26020 2001-07-08 00:00:00.000 Vancouver  N&lt;br /&gt;
          9 Mary             60020 2002-06-09 00:00:00.000 Toronto    W&lt;br /&gt;
(9 rows affected)&lt;br /&gt;
1&amp;gt;&lt;br /&gt;
2&amp;gt; --A simple CASE takes an expression that equates to a Boolean result&lt;br /&gt;
3&amp;gt;&lt;br /&gt;
4&amp;gt; SELECT TOP 10 ID, Position =&lt;br /&gt;
5&amp;gt; CASE ID % 10&lt;br /&gt;
6&amp;gt;    WHEN 1 THEN &amp;quot;First&amp;quot;&lt;br /&gt;
7&amp;gt;    WHEN 2 THEN &amp;quot;Second&amp;quot;&lt;br /&gt;
8&amp;gt;    WHEN 3 THEN &amp;quot;Third&amp;quot;&lt;br /&gt;
9&amp;gt;    WHEN 4 THEN &amp;quot;Fourth&amp;quot;&lt;br /&gt;
10&amp;gt;    ELSE &amp;quot;Something Else&amp;quot;&lt;br /&gt;
11&amp;gt; END&lt;br /&gt;
12&amp;gt; FROM Employee&lt;br /&gt;
13&amp;gt;&lt;br /&gt;
14&amp;gt;&lt;br /&gt;
15&amp;gt; drop table employee&lt;br /&gt;
16&amp;gt; GO&lt;br /&gt;
ID          Position&lt;br /&gt;
----------- --------------&lt;br /&gt;
          1 First&lt;br /&gt;
          2 Second&lt;br /&gt;
          3 Third&lt;br /&gt;
          4 Fourth&lt;br /&gt;
          5 Something Else&lt;br /&gt;
          6 Something Else&lt;br /&gt;
          7 Something Else&lt;br /&gt;
          8 Something Else&lt;br /&gt;
          9 Something Else&lt;br /&gt;
(9 rows affected)&lt;br /&gt;
1&amp;gt;&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==CASE: return a specified value based on a set of business logic==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
11&amp;gt;&lt;br /&gt;
12&amp;gt; -- CASE: return a specified value based on a set of business logic&lt;br /&gt;
13&amp;gt;&lt;br /&gt;
14&amp;gt; DECLARE @Status Int&lt;br /&gt;
15&amp;gt; SET @Status = 1&lt;br /&gt;
16&amp;gt;&lt;br /&gt;
17&amp;gt; SELECT CASE @Status&lt;br /&gt;
18&amp;gt;   WHEN 1 THEN &amp;quot;Active&amp;quot;&lt;br /&gt;
19&amp;gt;   WHEN 2 THEN &amp;quot;Inactive&amp;quot;&lt;br /&gt;
20&amp;gt;   WHEN 3 THEN &amp;quot;Pending&amp;quot;&lt;br /&gt;
21&amp;gt; END&lt;br /&gt;
22&amp;gt;&lt;br /&gt;
23&amp;gt; GO&lt;br /&gt;
--------&lt;br /&gt;
Active&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
1&amp;gt;&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Case when and else==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
1&amp;gt;&lt;br /&gt;
2&amp;gt; CREATE TABLE project   (project_no   CHAR(4) NOT NULL,&lt;br /&gt;
3&amp;gt;                         project_name CHAR(15) NOT NULL,&lt;br /&gt;
4&amp;gt;                         budget FLOAT NULL)&lt;br /&gt;
5&amp;gt;&lt;br /&gt;
6&amp;gt; insert into project values (&amp;quot;p1&amp;quot;, &amp;quot;Search Engine&amp;quot;,        120000.00)&lt;br /&gt;
7&amp;gt; insert into project values (&amp;quot;p2&amp;quot;, &amp;quot;Programming&amp;quot;,          95000.00)&lt;br /&gt;
8&amp;gt; insert into project values (&amp;quot;p3&amp;quot;, &amp;quot;SQL&amp;quot;,                  186500.00)&lt;br /&gt;
9&amp;gt;&lt;br /&gt;
10&amp;gt; -- CASE Expressions&lt;br /&gt;
11&amp;gt;&lt;br /&gt;
12&amp;gt; SELECT project_name,&lt;br /&gt;
13&amp;gt;         CASE&lt;br /&gt;
14&amp;gt;          WHEN budget &amp;gt; 0 AND budget &amp;lt; 100000 THEN 1&lt;br /&gt;
15&amp;gt;          WHEN budget &amp;gt;= 100000 AND budget &amp;lt; 200000 THEN 2&lt;br /&gt;
16&amp;gt;          WHEN budget &amp;gt;= 200000 AND budget &amp;lt; 300000 THEN 3&lt;br /&gt;
17&amp;gt;          ELSE 4&lt;br /&gt;
18&amp;gt;         END budget_weight&lt;br /&gt;
19&amp;gt;        FROM project&lt;br /&gt;
20&amp;gt; GO&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
project_name    budget_weight&lt;br /&gt;
--------------- -------------&lt;br /&gt;
Search Engine               2&lt;br /&gt;
Programming                 1&lt;br /&gt;
SQL                         2&lt;br /&gt;
(3 rows affected)&lt;br /&gt;
1&amp;gt;&lt;br /&gt;
2&amp;gt; drop table project&lt;br /&gt;
3&amp;gt; GO&lt;br /&gt;
1&amp;gt;&lt;br /&gt;
2&amp;gt;&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Case when NULL==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
1&amp;gt; create table employee(&lt;br /&gt;
2&amp;gt;     ID          int,&lt;br /&gt;
3&amp;gt;     name        nvarchar (10),&lt;br /&gt;
4&amp;gt;     salary      int,&lt;br /&gt;
5&amp;gt;     start_date  datetime,&lt;br /&gt;
6&amp;gt;     city        nvarchar (10),&lt;br /&gt;
7&amp;gt;     region      char (1))&lt;br /&gt;
8&amp;gt; GO&lt;br /&gt;
1&amp;gt;&lt;br /&gt;
2&amp;gt; insert into employee (ID, name,    salary, start_date, city,       region)&lt;br /&gt;
3&amp;gt;               values (1,  &amp;quot;Jason&amp;quot;, 40420,  &amp;quot;02/01/94&amp;quot;, &amp;quot;New York&amp;quot;, &amp;quot;W&amp;quot;)&lt;br /&gt;
4&amp;gt; GO&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
1&amp;gt; insert into employee (ID, name,    salary, start_date, city,       region)&lt;br /&gt;
2&amp;gt;               values (2,  &amp;quot;Robert&amp;quot;,14420,  &amp;quot;01/02/95&amp;quot;, &amp;quot;Vancouver&amp;quot;,&amp;quot;N&amp;quot;)&lt;br /&gt;
3&amp;gt; GO&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
1&amp;gt; insert into employee (ID, name,    salary, start_date, city,       region)&lt;br /&gt;
2&amp;gt;               values (3,  &amp;quot;Celia&amp;quot;, 24020,  &amp;quot;12/03/96&amp;quot;, &amp;quot;Toronto&amp;quot;,  &amp;quot;W&amp;quot;)&lt;br /&gt;
3&amp;gt; GO&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
1&amp;gt; insert into employee (ID, name,    salary, start_date, city,       region)&lt;br /&gt;
2&amp;gt;               values (4,  &amp;quot;Linda&amp;quot;, 40620,  &amp;quot;11/04/97&amp;quot;, &amp;quot;New York&amp;quot;, &amp;quot;N&amp;quot;)&lt;br /&gt;
3&amp;gt; GO&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
1&amp;gt; insert into employee (ID, name,    salary, start_date, city,       region)&lt;br /&gt;
2&amp;gt;               values (5,  &amp;quot;David&amp;quot;, 80026,  &amp;quot;10/05/98&amp;quot;, &amp;quot;Vancouver&amp;quot;,&amp;quot;W&amp;quot;)&lt;br /&gt;
3&amp;gt; GO&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
1&amp;gt; insert into employee (ID, name,    salary, start_date, city,       region)&lt;br /&gt;
2&amp;gt;               values (6,  &amp;quot;James&amp;quot;, 70060,  &amp;quot;09/06/99&amp;quot;, &amp;quot;Toronto&amp;quot;,  &amp;quot;N&amp;quot;)&lt;br /&gt;
3&amp;gt; GO&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
1&amp;gt; insert into employee (ID, name,    salary, start_date, city,       region)&lt;br /&gt;
2&amp;gt;               values (7,  &amp;quot;Alison&amp;quot;,90620,  &amp;quot;08/07/00&amp;quot;, &amp;quot;New York&amp;quot;, &amp;quot;W&amp;quot;)&lt;br /&gt;
3&amp;gt; GO&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
1&amp;gt; insert into employee (ID, name,    salary, start_date, city,       region)&lt;br /&gt;
2&amp;gt;               values (8,  &amp;quot;Chris&amp;quot;, 26020,  &amp;quot;07/08/01&amp;quot;, &amp;quot;Vancouver&amp;quot;,&amp;quot;N&amp;quot;)&lt;br /&gt;
3&amp;gt; GO&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
1&amp;gt; insert into employee (ID, name,    salary, start_date, city,       region)&lt;br /&gt;
2&amp;gt;               values (9,  &amp;quot;Mary&amp;quot;,  60020,  &amp;quot;06/09/02&amp;quot;, &amp;quot;Toronto&amp;quot;,  &amp;quot;W&amp;quot;)&lt;br /&gt;
3&amp;gt; GO&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
1&amp;gt;&lt;br /&gt;
2&amp;gt; select * from employee&lt;br /&gt;
3&amp;gt; GO&lt;br /&gt;
ID          name       salary      start_date              city       region&lt;br /&gt;
----------- ---------- ----------- ----------------------- ---------- ------&lt;br /&gt;
          1 Jason            40420 1994-02-01 00:00:00.000 New York   W&lt;br /&gt;
          2 Robert           14420 1995-01-02 00:00:00.000 Vancouver  N&lt;br /&gt;
          3 Celia            24020 1996-12-03 00:00:00.000 Toronto    W&lt;br /&gt;
          4 Linda            40620 1997-11-04 00:00:00.000 New York   N&lt;br /&gt;
          5 David            80026 1998-10-05 00:00:00.000 Vancouver  W&lt;br /&gt;
          6 James            70060 1999-09-06 00:00:00.000 Toronto    N&lt;br /&gt;
          7 Alison           90620 2000-08-07 00:00:00.000 New York   W&lt;br /&gt;
          8 Chris            26020 2001-07-08 00:00:00.000 Vancouver  N&lt;br /&gt;
          9 Mary             60020 2002-06-09 00:00:00.000 Toronto    W&lt;br /&gt;
(9 rows affected)&lt;br /&gt;
1&amp;gt;&lt;br /&gt;
2&amp;gt; -- Select with a CASE expression:&lt;br /&gt;
3&amp;gt;&lt;br /&gt;
4&amp;gt; SELECT ID&lt;br /&gt;
5&amp;gt;   , Name&lt;br /&gt;
6&amp;gt;   , CASE ID&lt;br /&gt;
7&amp;gt;       WHEN 1 THEN &amp;quot;Mountain&amp;quot;&lt;br /&gt;
8&amp;gt;       WHEN 2 THEN &amp;quot;Road&amp;quot;&lt;br /&gt;
9&amp;gt;       WHEN 3 THEN &amp;quot;Touring&amp;quot;&lt;br /&gt;
10&amp;gt;       WHEN Null THEN &amp;quot;Something&amp;quot;&lt;br /&gt;
11&amp;gt;       ELSE &amp;quot;No&amp;quot;&lt;br /&gt;
12&amp;gt;     END As IDX&lt;br /&gt;
13&amp;gt; FROM Employee&lt;br /&gt;
14&amp;gt; GO&lt;br /&gt;
ID          Name       IDX&lt;br /&gt;
----------- ---------- ---------&lt;br /&gt;
          1 Jason      Mountain&lt;br /&gt;
          2 Robert     Road&lt;br /&gt;
          3 Celia      Touring&lt;br /&gt;
          4 Linda      No&lt;br /&gt;
          5 David      No&lt;br /&gt;
          6 James      No&lt;br /&gt;
          7 Alison     No&lt;br /&gt;
          8 Chris      No&lt;br /&gt;
          9 Mary       No&lt;br /&gt;
(9 rows affected)&lt;br /&gt;
1&amp;gt;&lt;br /&gt;
2&amp;gt; drop table employee&lt;br /&gt;
3&amp;gt; GO&lt;br /&gt;
1&amp;gt;&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==&amp;quot;Case when&amp;quot; statement in a procedure==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
1&amp;gt; create table employee(&lt;br /&gt;
2&amp;gt;     ID          int,&lt;br /&gt;
3&amp;gt;     name        nvarchar (10),&lt;br /&gt;
4&amp;gt;     salary      int,&lt;br /&gt;
5&amp;gt;     start_date  datetime,&lt;br /&gt;
6&amp;gt;     city        nvarchar (10),&lt;br /&gt;
7&amp;gt;     region      char (1))&lt;br /&gt;
8&amp;gt; GO&lt;br /&gt;
1&amp;gt;&lt;br /&gt;
2&amp;gt; insert into employee (ID, name,    salary, start_date, city,       regio&lt;br /&gt;
3&amp;gt;               values (1,  &amp;quot;Jason&amp;quot;, 40420,  &amp;quot;02/01/94&amp;quot;, &amp;quot;New York&amp;quot;, &amp;quot;W&amp;quot;)&lt;br /&gt;
4&amp;gt; GO&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
1&amp;gt; insert into employee (ID, name,    salary, start_date, city,       regio&lt;br /&gt;
2&amp;gt;               values (2,  &amp;quot;Robert&amp;quot;,14420,  &amp;quot;01/02/95&amp;quot;, &amp;quot;Vancouver&amp;quot;,&amp;quot;N&amp;quot;)&lt;br /&gt;
3&amp;gt; GO&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
1&amp;gt; insert into employee (ID, name,    salary, start_date, city,       regio&lt;br /&gt;
2&amp;gt;               values (3,  &amp;quot;Celia&amp;quot;, 24020,  &amp;quot;12/03/96&amp;quot;, &amp;quot;Toronto&amp;quot;,  &amp;quot;W&amp;quot;)&lt;br /&gt;
3&amp;gt; GO&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
1&amp;gt; insert into employee (ID, name,    salary, start_date, city,       regio&lt;br /&gt;
2&amp;gt;               values (4,  &amp;quot;Linda&amp;quot;, 40620,  &amp;quot;11/04/97&amp;quot;, &amp;quot;New York&amp;quot;, &amp;quot;N&amp;quot;)&lt;br /&gt;
3&amp;gt; GO&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
1&amp;gt; insert into employee (ID, name,    salary, start_date, city,       regio&lt;br /&gt;
2&amp;gt;               values (5,  &amp;quot;David&amp;quot;, 126,    &amp;quot;10/05/98&amp;quot;, &amp;quot;Vancouver&amp;quot;,&amp;quot;W&amp;quot;)&lt;br /&gt;
3&amp;gt; GO&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
1&amp;gt; insert into employee (ID, name,    salary, start_date, city,       regio&lt;br /&gt;
2&amp;gt;               values (6,  &amp;quot;James&amp;quot;, 7006,  &amp;quot;09/06/99&amp;quot;, &amp;quot;Toronto&amp;quot;,  &amp;quot;N&amp;quot;)&lt;br /&gt;
3&amp;gt; GO&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
1&amp;gt; insert into employee (ID, name,    salary, start_date, city,       regio&lt;br /&gt;
2&amp;gt;               values (7,  &amp;quot;Alison&amp;quot;,9062,  &amp;quot;08/07/00&amp;quot;, &amp;quot;New York&amp;quot;, &amp;quot;W&amp;quot;)&lt;br /&gt;
3&amp;gt; GO&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
1&amp;gt; insert into employee (ID, name,    salary, start_date, city,       regio&lt;br /&gt;
2&amp;gt;               values (8,  &amp;quot;Chris&amp;quot;, 2000,  &amp;quot;07/08/01&amp;quot;, &amp;quot;Vancouver&amp;quot;,&amp;quot;N&amp;quot;)&lt;br /&gt;
3&amp;gt; GO&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
1&amp;gt; insert into employee (ID, name,    salary, start_date, city,       regio&lt;br /&gt;
2&amp;gt;               values (9,  &amp;quot;Mary&amp;quot;,  60020,  &amp;quot;06/09/02&amp;quot;, &amp;quot;Toronto&amp;quot;,  &amp;quot;W&amp;quot;)&lt;br /&gt;
3&amp;gt; GO&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
1&amp;gt;&lt;br /&gt;
2&amp;gt; select * from employee&lt;br /&gt;
3&amp;gt; GO&lt;br /&gt;
ID          name       salary      start_date              city       regio&lt;br /&gt;
----------- ---------- ----------- ----------------------- ---------- -----&lt;br /&gt;
          1 Jason            40420 1994-02-01 00:00:00.000 New York   W&lt;br /&gt;
          2 Robert           14420 1995-01-02 00:00:00.000 Vancouver  N&lt;br /&gt;
          3 Celia            24020 1996-12-03 00:00:00.000 Toronto    W&lt;br /&gt;
          4 Linda            40620 1997-11-04 00:00:00.000 New York   N&lt;br /&gt;
          5 David              126 1998-10-05 00:00:00.000 Vancouver  W&lt;br /&gt;
          6 James             7006 1999-09-06 00:00:00.000 Toronto    N&lt;br /&gt;
          7 Alison            9062 2000-08-07 00:00:00.000 New York   W&lt;br /&gt;
          8 Chris             2000 2001-07-08 00:00:00.000 Vancouver  N&lt;br /&gt;
          9 Mary             60020 2002-06-09 00:00:00.000 Toronto    W&lt;br /&gt;
(9 rows affected)&lt;br /&gt;
1&amp;gt;&lt;br /&gt;
2&amp;gt; --Using the CASE Statement&lt;br /&gt;
3&amp;gt; drop procedure sp_demo&lt;br /&gt;
4&amp;gt; GO&lt;br /&gt;
1&amp;gt;&lt;br /&gt;
2&amp;gt; CREATE PROCEDURE sp_Demo&lt;br /&gt;
3&amp;gt;    @StartDate DATETIME,&lt;br /&gt;
4&amp;gt;    @ID INT = 1&lt;br /&gt;
5&amp;gt; WITH ENCRYPTION&lt;br /&gt;
6&amp;gt; AS&lt;br /&gt;
7&amp;gt;    IF @StartDate &amp;gt; GETDATE()&lt;br /&gt;
8&amp;gt;       RETURN 1&lt;br /&gt;
9&amp;gt;    IF @ID &amp;lt; 0&lt;br /&gt;
10&amp;gt;       RETURN 2&lt;br /&gt;
11&amp;gt;&lt;br /&gt;
12&amp;gt;    SELECT &amp;quot;Result&amp;quot; =&lt;br /&gt;
13&amp;gt;    CASE WHEN salary &amp;gt; 1000 THEN     &amp;quot;&amp;gt; 1000&amp;quot;&lt;br /&gt;
14&amp;gt;         WHEN salary = 2000 THEN     &amp;quot;= 2000&amp;quot;&lt;br /&gt;
15&amp;gt;         WHEN salary &amp;lt; 8000 THEN     &amp;quot;&amp;lt; 8000&amp;quot;&lt;br /&gt;
16&amp;gt;    END&lt;br /&gt;
17&amp;gt;       FROM Employee&lt;br /&gt;
18&amp;gt;       WHERE Id &amp;lt;&amp;gt; @ID&lt;br /&gt;
19&amp;gt;         AND Start_Date &amp;lt;&amp;gt; @StartDate&lt;br /&gt;
20&amp;gt; GO&lt;br /&gt;
1&amp;gt;&lt;br /&gt;
2&amp;gt;&lt;br /&gt;
3&amp;gt; DECLARE @Start_Date_In smalldatetime&lt;br /&gt;
4&amp;gt; DECLARE @Id_In INT&lt;br /&gt;
5&amp;gt; SET @Start_Date_In = &amp;quot;24 March 2001&amp;quot;&lt;br /&gt;
6&amp;gt; SET @ID_In = 1&lt;br /&gt;
7&amp;gt; EXECUTE sp_Demo @Start_Date_In, @ID_In&lt;br /&gt;
8&amp;gt;&lt;br /&gt;
9&amp;gt;&lt;br /&gt;
10&amp;gt; drop table employee&lt;br /&gt;
11&amp;gt; GO&lt;br /&gt;
Result&lt;br /&gt;
------&lt;br /&gt;
&amp;gt; 1000&lt;br /&gt;
&amp;gt; 1000&lt;br /&gt;
&amp;gt; 1000&lt;br /&gt;
&amp;lt; 8000&lt;br /&gt;
&amp;gt; 1000&lt;br /&gt;
&amp;gt; 1000&lt;br /&gt;
&amp;gt; 1000&lt;br /&gt;
&amp;gt; 1000&lt;br /&gt;
(8 rows affected)&lt;br /&gt;
1&amp;gt;&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Case When with else==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
1&amp;gt; create table employee(&lt;br /&gt;
2&amp;gt;     ID          int,&lt;br /&gt;
3&amp;gt;     name        nvarchar (10),&lt;br /&gt;
4&amp;gt;     salary      int,&lt;br /&gt;
5&amp;gt;     start_date  datetime,&lt;br /&gt;
6&amp;gt;     city        nvarchar (10),&lt;br /&gt;
7&amp;gt;     region      char (1))&lt;br /&gt;
8&amp;gt; GO&lt;br /&gt;
1&amp;gt;&lt;br /&gt;
2&amp;gt; insert into employee (ID, name,    salary, start_date, city,       region)&lt;br /&gt;
3&amp;gt;               values (1,  &amp;quot;Jason&amp;quot;, 40420,  &amp;quot;02/01/94&amp;quot;, &amp;quot;New York&amp;quot;, &amp;quot;W&amp;quot;)&lt;br /&gt;
4&amp;gt; GO&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
1&amp;gt; insert into employee (ID, name,    salary, start_date, city,       region)&lt;br /&gt;
2&amp;gt;               values (2,  &amp;quot;Robert&amp;quot;,14420,  &amp;quot;01/02/95&amp;quot;, &amp;quot;Vancouver&amp;quot;,&amp;quot;N&amp;quot;)&lt;br /&gt;
3&amp;gt; GO&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
1&amp;gt; insert into employee (ID, name,    salary, start_date, city,       region)&lt;br /&gt;
2&amp;gt;               values (3,  &amp;quot;Celia&amp;quot;, 24020,  &amp;quot;12/03/96&amp;quot;, &amp;quot;Toronto&amp;quot;,  &amp;quot;W&amp;quot;)&lt;br /&gt;
3&amp;gt; GO&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
1&amp;gt; insert into employee (ID, name,    salary, start_date, city,       region)&lt;br /&gt;
2&amp;gt;               values (4,  &amp;quot;Linda&amp;quot;, 40620,  &amp;quot;11/04/97&amp;quot;, &amp;quot;New York&amp;quot;, &amp;quot;N&amp;quot;)&lt;br /&gt;
3&amp;gt; GO&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
1&amp;gt; insert into employee (ID, name,    salary, start_date, city,       region)&lt;br /&gt;
2&amp;gt;               values (5,  &amp;quot;David&amp;quot;, 80026,  &amp;quot;10/05/98&amp;quot;, &amp;quot;Vancouver&amp;quot;,&amp;quot;W&amp;quot;)&lt;br /&gt;
3&amp;gt; GO&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
1&amp;gt; insert into employee (ID, name,    salary, start_date, city,       region)&lt;br /&gt;
2&amp;gt;               values (6,  &amp;quot;James&amp;quot;, 70060,  &amp;quot;09/06/99&amp;quot;, &amp;quot;Toronto&amp;quot;,  &amp;quot;N&amp;quot;)&lt;br /&gt;
3&amp;gt; GO&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
1&amp;gt; insert into employee (ID, name,    salary, start_date, city,       region)&lt;br /&gt;
2&amp;gt;               values (7,  &amp;quot;Alison&amp;quot;,90620,  &amp;quot;08/07/00&amp;quot;, &amp;quot;New York&amp;quot;, &amp;quot;W&amp;quot;)&lt;br /&gt;
3&amp;gt; GO&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
1&amp;gt; insert into employee (ID, name,    salary, start_date, city,       region)&lt;br /&gt;
2&amp;gt;               values (8,  &amp;quot;Chris&amp;quot;, 26020,  &amp;quot;07/08/01&amp;quot;, &amp;quot;Vancouver&amp;quot;,&amp;quot;N&amp;quot;)&lt;br /&gt;
3&amp;gt; GO&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
1&amp;gt; insert into employee (ID, name,    salary, start_date, city,       region)&lt;br /&gt;
2&amp;gt;               values (9,  &amp;quot;Mary&amp;quot;,  60020,  &amp;quot;06/09/02&amp;quot;, &amp;quot;Toronto&amp;quot;,  &amp;quot;W&amp;quot;)&lt;br /&gt;
3&amp;gt; GO&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
1&amp;gt;&lt;br /&gt;
2&amp;gt; select * from employee&lt;br /&gt;
3&amp;gt; GO&lt;br /&gt;
ID          name       salary      start_date              city       region&lt;br /&gt;
----------- ---------- ----------- ----------------------- ---------- ------&lt;br /&gt;
          1 Jason            40420 1994-02-01 00:00:00.000 New York   W&lt;br /&gt;
          2 Robert           14420 1995-01-02 00:00:00.000 Vancouver  N&lt;br /&gt;
          3 Celia            24020 1996-12-03 00:00:00.000 Toronto    W&lt;br /&gt;
          4 Linda            40620 1997-11-04 00:00:00.000 New York   N&lt;br /&gt;
          5 David            80026 1998-10-05 00:00:00.000 Vancouver  W&lt;br /&gt;
          6 James            70060 1999-09-06 00:00:00.000 Toronto    N&lt;br /&gt;
          7 Alison           90620 2000-08-07 00:00:00.000 New York   W&lt;br /&gt;
          8 Chris            26020 2001-07-08 00:00:00.000 Vancouver  N&lt;br /&gt;
          9 Mary             60020 2002-06-09 00:00:00.000 Toronto    W&lt;br /&gt;
(9 rows affected)&lt;br /&gt;
1&amp;gt;&lt;br /&gt;
2&amp;gt; SELECT ID&lt;br /&gt;
3&amp;gt;   , Name&lt;br /&gt;
4&amp;gt;   , SubCategory = CASE ID&lt;br /&gt;
5&amp;gt;       WHEN 1 THEN &amp;quot;M&amp;quot;&lt;br /&gt;
6&amp;gt;       WHEN 2 THEN &amp;quot;Road Bike&amp;quot;&lt;br /&gt;
7&amp;gt;       WHEN 3 THEN &amp;quot;Touring Bike&amp;quot;&lt;br /&gt;
8&amp;gt;       WHEN Null THEN &amp;quot;Something Else&amp;quot;&lt;br /&gt;
9&amp;gt;       ELSE &amp;quot;(No Subcategory)&amp;quot;&lt;br /&gt;
10&amp;gt;   END&lt;br /&gt;
11&amp;gt; FROM Employee&lt;br /&gt;
12&amp;gt; GO&lt;br /&gt;
ID          Name       SubCategory&lt;br /&gt;
----------- ---------- ----------------&lt;br /&gt;
          1 Jason      M&lt;br /&gt;
          2 Robert     Road Bike&lt;br /&gt;
          3 Celia      Touring Bike&lt;br /&gt;
          4 Linda      (No Subcategory)&lt;br /&gt;
          5 David      (No Subcategory)&lt;br /&gt;
          6 James      (No Subcategory)&lt;br /&gt;
          7 Alison     (No Subcategory)&lt;br /&gt;
          8 Chris      (No Subcategory)&lt;br /&gt;
          9 Mary       (No Subcategory)&lt;br /&gt;
(9 rows affected)&lt;br /&gt;
1&amp;gt;&lt;br /&gt;
2&amp;gt;&lt;br /&gt;
3&amp;gt; drop table employee&lt;br /&gt;
4&amp;gt; GO&lt;br /&gt;
1&amp;gt;&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Case when with Mod and ABS()==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
1&amp;gt; create table employee(&lt;br /&gt;
2&amp;gt;     ID          int,&lt;br /&gt;
3&amp;gt;     name        nvarchar (10),&lt;br /&gt;
4&amp;gt;     salary      int,&lt;br /&gt;
5&amp;gt;     start_date  datetime,&lt;br /&gt;
6&amp;gt;     city        nvarchar (10),&lt;br /&gt;
7&amp;gt;     region      char (1))&lt;br /&gt;
8&amp;gt; GO&lt;br /&gt;
1&amp;gt;&lt;br /&gt;
2&amp;gt; insert into employee (ID, name,    salary, start_date, city,       region)&lt;br /&gt;
3&amp;gt;               values (1,  &amp;quot;Jason&amp;quot;, 40420,  &amp;quot;02/01/94&amp;quot;, &amp;quot;New York&amp;quot;, &amp;quot;W&amp;quot;)&lt;br /&gt;
4&amp;gt; GO&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
1&amp;gt; insert into employee (ID, name,    salary, start_date, city,       region)&lt;br /&gt;
2&amp;gt;               values (2,  &amp;quot;Robert&amp;quot;,14420,  &amp;quot;01/02/95&amp;quot;, &amp;quot;Vancouver&amp;quot;,&amp;quot;N&amp;quot;)&lt;br /&gt;
3&amp;gt; GO&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
1&amp;gt; insert into employee (ID, name,    salary, start_date, city,       region)&lt;br /&gt;
2&amp;gt;               values (3,  &amp;quot;Celia&amp;quot;, 24020,  &amp;quot;12/03/96&amp;quot;, &amp;quot;Toronto&amp;quot;,  &amp;quot;W&amp;quot;)&lt;br /&gt;
3&amp;gt; GO&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
1&amp;gt; insert into employee (ID, name,    salary, start_date, city,       region)&lt;br /&gt;
2&amp;gt;               values (4,  &amp;quot;Linda&amp;quot;, 40620,  &amp;quot;11/04/97&amp;quot;, &amp;quot;New York&amp;quot;, &amp;quot;N&amp;quot;)&lt;br /&gt;
3&amp;gt; GO&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
1&amp;gt; insert into employee (ID, name,    salary, start_date, city,       region)&lt;br /&gt;
2&amp;gt;               values (5,  &amp;quot;David&amp;quot;, 80026,  &amp;quot;10/05/98&amp;quot;, &amp;quot;Vancouver&amp;quot;,&amp;quot;W&amp;quot;)&lt;br /&gt;
3&amp;gt; GO&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
1&amp;gt; insert into employee (ID, name,    salary, start_date, city,       region)&lt;br /&gt;
2&amp;gt;               values (6,  &amp;quot;James&amp;quot;, 70060,  &amp;quot;09/06/99&amp;quot;, &amp;quot;Toronto&amp;quot;,  &amp;quot;N&amp;quot;)&lt;br /&gt;
3&amp;gt; GO&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
1&amp;gt; insert into employee (ID, name,    salary, start_date, city,       region)&lt;br /&gt;
2&amp;gt;               values (7,  &amp;quot;Alison&amp;quot;,90620,  &amp;quot;08/07/00&amp;quot;, &amp;quot;New York&amp;quot;, &amp;quot;W&amp;quot;)&lt;br /&gt;
3&amp;gt; GO&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
1&amp;gt; insert into employee (ID, name,    salary, start_date, city,       region)&lt;br /&gt;
2&amp;gt;               values (8,  &amp;quot;Chris&amp;quot;, 26020,  &amp;quot;07/08/01&amp;quot;, &amp;quot;Vancouver&amp;quot;,&amp;quot;N&amp;quot;)&lt;br /&gt;
3&amp;gt; GO&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
1&amp;gt; insert into employee (ID, name,    salary, start_date, city,       region)&lt;br /&gt;
2&amp;gt;               values (9,  &amp;quot;Mary&amp;quot;,  60020,  &amp;quot;06/09/02&amp;quot;, &amp;quot;Toronto&amp;quot;,  &amp;quot;W&amp;quot;)&lt;br /&gt;
3&amp;gt; GO&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
1&amp;gt;&lt;br /&gt;
2&amp;gt; select * from employee&lt;br /&gt;
3&amp;gt; GO&lt;br /&gt;
ID          name       salary      start_date              city       region&lt;br /&gt;
----------- ---------- ----------- ----------------------- ---------- ------&lt;br /&gt;
          1 Jason            40420 1994-02-01 00:00:00.000 New York   W&lt;br /&gt;
          2 Robert           14420 1995-01-02 00:00:00.000 Vancouver  N&lt;br /&gt;
          3 Celia            24020 1996-12-03 00:00:00.000 Toronto    W&lt;br /&gt;
          4 Linda            40620 1997-11-04 00:00:00.000 New York   N&lt;br /&gt;
          5 David            80026 1998-10-05 00:00:00.000 Vancouver  W&lt;br /&gt;
          6 James            70060 1999-09-06 00:00:00.000 Toronto    N&lt;br /&gt;
          7 Alison           90620 2000-08-07 00:00:00.000 New York   W&lt;br /&gt;
          8 Chris            26020 2001-07-08 00:00:00.000 Vancouver  N&lt;br /&gt;
          9 Mary             60020 2002-06-09 00:00:00.000 Toronto    W&lt;br /&gt;
(9 rows affected)&lt;br /&gt;
1&amp;gt;&lt;br /&gt;
2&amp;gt; -- A Searched CASE&lt;br /&gt;
3&amp;gt;&lt;br /&gt;
4&amp;gt; SELECT TOP 10 ID % 10 AS &amp;quot;ID&amp;quot;,&lt;br /&gt;
5&amp;gt;    &amp;quot;ID?&amp;quot; = CASE&lt;br /&gt;
6&amp;gt;      WHEN (ID % 10) &amp;lt; 3 THEN &amp;quot;Ends With Less Than Three&amp;quot;&lt;br /&gt;
7&amp;gt;      WHEN ID = 6 THEN &amp;quot;ProductID is 6&amp;quot;&lt;br /&gt;
8&amp;gt;      WHEN ABS(ID % 10 - 2) &amp;lt;= 1 THEN &amp;quot;Based on calculation&amp;quot;&lt;br /&gt;
9&amp;gt;      ELSE &amp;quot;More Than One Apart&amp;quot;&lt;br /&gt;
10&amp;gt;   END&lt;br /&gt;
11&amp;gt; FROM Employee&lt;br /&gt;
12&amp;gt; GO&lt;br /&gt;
ID          ID?&lt;br /&gt;
----------- -------------------------&lt;br /&gt;
          1 Ends With Less Than Three&lt;br /&gt;
          2 Ends With Less Than Three&lt;br /&gt;
          3 Based on calculation&lt;br /&gt;
          4 More Than One Apart&lt;br /&gt;
          5 More Than One Apart&lt;br /&gt;
          6 ProductID is 6&lt;br /&gt;
          7 More Than One Apart&lt;br /&gt;
          8 More Than One Apart&lt;br /&gt;
          9 More Than One Apart&lt;br /&gt;
(9 rows affected)&lt;br /&gt;
1&amp;gt;&lt;br /&gt;
2&amp;gt;&lt;br /&gt;
3&amp;gt; drop table employee&lt;br /&gt;
4&amp;gt; GO&lt;br /&gt;
1&amp;gt;&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Select case statement==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
1&amp;gt; create table employee(&lt;br /&gt;
2&amp;gt;     ID          int,&lt;br /&gt;
3&amp;gt;     name        nvarchar (10),&lt;br /&gt;
4&amp;gt;     salary      int,&lt;br /&gt;
5&amp;gt;     start_date  datetime,&lt;br /&gt;
6&amp;gt;     city        nvarchar (10),&lt;br /&gt;
7&amp;gt;     region      char (1))&lt;br /&gt;
8&amp;gt; GO&lt;br /&gt;
1&amp;gt;&lt;br /&gt;
2&amp;gt; insert into employee (ID, name,    salary, start_date, city,       region)&lt;br /&gt;
3&amp;gt;               values (1,  &amp;quot;Jason&amp;quot;, 40420,  &amp;quot;02/01/94&amp;quot;, &amp;quot;New York&amp;quot;, &amp;quot;W&amp;quot;)&lt;br /&gt;
4&amp;gt; GO&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
1&amp;gt; insert into employee (ID, name,    salary, start_date, city,       region)&lt;br /&gt;
2&amp;gt;               values (2,  &amp;quot;Robert&amp;quot;,14420,  &amp;quot;01/02/95&amp;quot;, &amp;quot;Vancouver&amp;quot;,&amp;quot;N&amp;quot;)&lt;br /&gt;
3&amp;gt; GO&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
1&amp;gt; insert into employee (ID, name,    salary, start_date, city,       region)&lt;br /&gt;
2&amp;gt;               values (3,  &amp;quot;Celia&amp;quot;, 24020,  &amp;quot;12/03/96&amp;quot;, &amp;quot;Toronto&amp;quot;,  &amp;quot;W&amp;quot;)&lt;br /&gt;
3&amp;gt; GO&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
1&amp;gt; insert into employee (ID, name,    salary, start_date, city,       region)&lt;br /&gt;
2&amp;gt;               values (4,  &amp;quot;Linda&amp;quot;, 40620,  &amp;quot;11/04/97&amp;quot;, &amp;quot;New York&amp;quot;, &amp;quot;N&amp;quot;)&lt;br /&gt;
3&amp;gt; GO&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
1&amp;gt; insert into employee (ID, name,    salary, start_date, city,       region)&lt;br /&gt;
2&amp;gt;               values (5,  &amp;quot;David&amp;quot;, 80026,  &amp;quot;10/05/98&amp;quot;, &amp;quot;Vancouver&amp;quot;,&amp;quot;W&amp;quot;)&lt;br /&gt;
3&amp;gt; GO&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
1&amp;gt; insert into employee (ID, name,    salary, start_date, city,       region)&lt;br /&gt;
2&amp;gt;               values (6,  &amp;quot;James&amp;quot;, 70060,  &amp;quot;09/06/99&amp;quot;, &amp;quot;Toronto&amp;quot;,  &amp;quot;N&amp;quot;)&lt;br /&gt;
3&amp;gt; GO&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
1&amp;gt; insert into employee (ID, name,    salary, start_date, city,       region)&lt;br /&gt;
2&amp;gt;               values (7,  &amp;quot;Alison&amp;quot;,90620,  &amp;quot;08/07/00&amp;quot;, &amp;quot;New York&amp;quot;, &amp;quot;W&amp;quot;)&lt;br /&gt;
3&amp;gt; GO&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
1&amp;gt; insert into employee (ID, name,    salary, start_date, city,       region)&lt;br /&gt;
2&amp;gt;               values (8,  &amp;quot;Chris&amp;quot;, 26020,  &amp;quot;07/08/01&amp;quot;, &amp;quot;Vancouver&amp;quot;,&amp;quot;N&amp;quot;)&lt;br /&gt;
3&amp;gt; GO&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
1&amp;gt; insert into employee (ID, name,    salary, start_date, city,       region)&lt;br /&gt;
2&amp;gt;               values (9,  &amp;quot;Mary&amp;quot;,  60020,  &amp;quot;06/09/02&amp;quot;, &amp;quot;Toronto&amp;quot;,  &amp;quot;W&amp;quot;)&lt;br /&gt;
3&amp;gt; GO&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
1&amp;gt;&lt;br /&gt;
2&amp;gt; select * from employee&lt;br /&gt;
3&amp;gt; GO&lt;br /&gt;
ID          name       salary      start_date              city       region&lt;br /&gt;
----------- ---------- ----------- ----------------------- ---------- ------&lt;br /&gt;
          1 Jason            40420 1994-02-01 00:00:00.000 New York   W&lt;br /&gt;
          2 Robert           14420 1995-01-02 00:00:00.000 Vancouver  N&lt;br /&gt;
          3 Celia            24020 1996-12-03 00:00:00.000 Toronto    W&lt;br /&gt;
          4 Linda            40620 1997-11-04 00:00:00.000 New York   N&lt;br /&gt;
          5 David            80026 1998-10-05 00:00:00.000 Vancouver  W&lt;br /&gt;
          6 James            70060 1999-09-06 00:00:00.000 Toronto    N&lt;br /&gt;
          7 Alison           90620 2000-08-07 00:00:00.000 New York   W&lt;br /&gt;
          8 Chris            26020 2001-07-08 00:00:00.000 Vancouver  N&lt;br /&gt;
          9 Mary             60020 2002-06-09 00:00:00.000 Toronto    W&lt;br /&gt;
(9 rows affected)&lt;br /&gt;
1&amp;gt;&lt;br /&gt;
2&amp;gt; DECLARE @Markup     money&lt;br /&gt;
3&amp;gt; DECLARE @Multiplier money&lt;br /&gt;
4&amp;gt;&lt;br /&gt;
5&amp;gt; SELECT @Markup = .10             -- Change the markup here&lt;br /&gt;
6&amp;gt; SELECT @Multiplier = @Markup + 1 -- We want the end price, not the amount&lt;br /&gt;
7&amp;gt;                                  -- of the increase, so add 1&lt;br /&gt;
8&amp;gt; SELECT ID, Name, salary,&lt;br /&gt;
9&amp;gt;    Salary * @Multiplier AS &amp;quot;Marked Up salary&amp;quot;, &amp;quot;New salary&amp;quot; =&lt;br /&gt;
10&amp;gt;    CASE WHEN FLOOR(salary * @Multiplier + .24) &amp;gt; FLOOR(salary * @Multiplier)&lt;br /&gt;
11&amp;gt;                      THEN FLOOR(salary * @Multiplier) + .95&lt;br /&gt;
12&amp;gt;         WHEN FLOOR(salary * @Multiplier + .5) &amp;gt;  FLOOR(salary * @Multiplier)&lt;br /&gt;
13&amp;gt;                      THEN FLOOR(salary * @Multiplier) + .75&lt;br /&gt;
14&amp;gt;         ELSE FLOOR(salary * @Multiplier) + .49&lt;br /&gt;
15&amp;gt;   END&lt;br /&gt;
16&amp;gt; FROM Employee&lt;br /&gt;
17&amp;gt; GO&lt;br /&gt;
ID          Name       salary      Marked Up salary      New salary&lt;br /&gt;
----------- ---------- ----------- --------------------- ----------------------&lt;br /&gt;
          1 Jason            40420            44462.0000             44462.4900&lt;br /&gt;
          2 Robert           14420            15862.0000             15862.4900&lt;br /&gt;
          3 Celia            24020            26422.0000             26422.4900&lt;br /&gt;
          4 Linda            40620            44682.0000             44682.4900&lt;br /&gt;
          5 David            80026            88028.6000             88028.7500&lt;br /&gt;
          6 James            70060            77066.0000             77066.4900&lt;br /&gt;
          7 Alison           90620            99682.0000             99682.4900&lt;br /&gt;
          8 Chris            26020            28622.0000             28622.4900&lt;br /&gt;
          9 Mary             60020            66022.0000             66022.4900&lt;br /&gt;
(9 rows affected)&lt;br /&gt;
1&amp;gt;&lt;br /&gt;
2&amp;gt; drop table employee&lt;br /&gt;
3&amp;gt; GO&lt;br /&gt;
1&amp;gt;&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Use CASE in the UPDATE statement==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
27&amp;gt;&lt;br /&gt;
28&amp;gt; CREATE TABLE project   (project_no   CHAR(4) NOT NULL,&lt;br /&gt;
29&amp;gt;                         project_name CHAR(15) NOT NULL,&lt;br /&gt;
30&amp;gt;                         budget FLOAT NULL)&lt;br /&gt;
31&amp;gt;&lt;br /&gt;
32&amp;gt; insert into project values (&amp;quot;p1&amp;quot;, &amp;quot;Search Engine&amp;quot;,        120000.00)&lt;br /&gt;
33&amp;gt; insert into project values (&amp;quot;p2&amp;quot;, &amp;quot;Programming&amp;quot;,          95000.00)&lt;br /&gt;
34&amp;gt; insert into project values (&amp;quot;p3&amp;quot;, &amp;quot;SQL&amp;quot;,                  186500.00)&lt;br /&gt;
35&amp;gt;&lt;br /&gt;
36&amp;gt; select * from project&lt;br /&gt;
37&amp;gt; GO&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
project_no project_name    budget&lt;br /&gt;
---------- --------------- ------------------------&lt;br /&gt;
p1         Search Engine                     120000&lt;br /&gt;
p2         Programming                        95000&lt;br /&gt;
p3         SQL                               186500&lt;br /&gt;
(3 rows affected)&lt;br /&gt;
1&amp;gt;&lt;br /&gt;
2&amp;gt; -- Use CASE in the UPDATE statement.&lt;br /&gt;
3&amp;gt;&lt;br /&gt;
4&amp;gt; UPDATE project SET budget = CASE&lt;br /&gt;
5&amp;gt;           WHEN budget &amp;gt; 0 and budget &amp;lt; 100000 THEN budget* 1.2&lt;br /&gt;
6&amp;gt;           WHEN budget &amp;gt; = 100000 and budget &amp;lt; 200000 THEN budget* 1.1&lt;br /&gt;
7&amp;gt;           ELSE budget* 1.05&lt;br /&gt;
8&amp;gt;           END&lt;br /&gt;
9&amp;gt; GO&lt;br /&gt;
(3 rows affected)&lt;br /&gt;
1&amp;gt; select * from project&lt;br /&gt;
2&amp;gt; GO&lt;br /&gt;
project_no project_name    budget&lt;br /&gt;
---------- --------------- ------------------------&lt;br /&gt;
p1         Search Engine                     132000&lt;br /&gt;
p2         Programming                       114000&lt;br /&gt;
p3         SQL                   205150.00000000003&lt;br /&gt;
(3 rows affected)&lt;br /&gt;
1&amp;gt; drop table project&lt;br /&gt;
2&amp;gt; GO&lt;br /&gt;
1&amp;gt;&lt;br /&gt;
2&amp;gt;&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>