'Case when' statement in a procedure : Case « Select Query « SQL Server / T-SQL

SQL Server / T-SQL
1. Aggregate Functions
2. Analytical Functions
3. Constraints
4. Cursor
5. Data Set
6. Data Type
7. Database
8. Date Timezone
9. Index
10. Insert Delete Update
11. Math Functions
12. Select Query
13. Sequence
14. Store Procedure Function
15. String Functions
16. Subquery
17. System
18. Table
19. Table Joins
20. Transact SQL
21. Transaction
22. Trigger
23. View
24. XML
Java
Java Tutorial
Java Source Code / Java Documentation
Java Open Source
Jar File Download
Java Articles
Java Products
Java by API
C# / C Sharp
C# / CSharp Tutorial
ASP.Net
JavaScript DHTML
JavaScript Tutorial
JavaScript Reference
HTML / CSS
HTML CSS Reference
C / ANSI-C
C Tutorial
C++
C++ Tutorial
PHP
Python
SQL Server / T-SQL Tutorial
Oracle PL / SQL
Oracle PL/SQL Tutorial
PostgreSQL
SQL / MySQL
MySQL Tutorial
VB.Net
VB.Net Tutorial
Flash / Flex / ActionScript
VBA / Excel / Access / Word
Microsoft Office PowerPoint 2007 Tutorial
Microsoft Office Excel 2007 Tutorial
Microsoft Office Word 2007 Tutorial
SQL Server / T-SQL » Select Query » Case 
'Case when' statement in a procedure


1create table employee(
2>     ID          int,
3>     name        nvarchar (10),
4>     salary      int,
5>     start_date  datetime,
6>     city        nvarchar (10),
7>     region      char (1))
8> GO
1>
2insert into employee (ID, name,    salary, start_date, city,       regio
3>               values (1,  'Jason', 40420,  '02/01/94', 'New York', 'W')
4> GO

(rows affected)
1insert into employee (ID, name,    salary, start_date, city,       regio
2>               values (2,  'Robert',14420,  '01/02/95', 'Vancouver','N')
3> GO

(rows affected)
1insert into employee (ID, name,    salary, start_date, city,       regio
2>               values (3,  'Celia', 24020,  '12/03/96', 'Toronto',  'W')
3> GO

(rows affected)
1insert into employee (ID, name,    salary, start_date, city,       regio
2>               values (4,  'Linda', 40620,  '11/04/97', 'New York', 'N')
3> GO

(rows affected)
1insert into employee (ID, name,    salary, start_date, city,       regio
2>               values (5,  'David', 126,    '10/05/98', 'Vancouver','W')
3> GO

(rows affected)
1insert into employee (ID, name,    salary, start_date, city,       regio
2>               values (6,  'James', 7006,  '09/06/99', 'Toronto',  'N')
3> GO

(rows affected)
1insert into employee (ID, name,    salary, start_date, city,       regio
2>               values (7,  'Alison',9062,  '08/07/00', 'New York', 'W')
3> GO

(rows affected)
1insert into employee (ID, name,    salary, start_date, city,       regio
2>               values (8,  'Chris', 2000,  '07/08/01', 'Vancouver','N')
3> GO

(rows affected)
1insert into employee (ID, name,    salary, start_date, city,       regio
2>               values (9,  'Mary',  60020,  '06/09/02', 'Toronto',  'W')
3> GO

(rows affected)
1>
2select from employee
3> GO
ID          name       salary      start_date              city       regio
----------- ---------- ----------- ----------------------- ---------- -----
          Jason            40420 1994-02-01 00:00:00.000 New York   W
          Robert           14420 1995-01-02 00:00:00.000 Vancouver  N
          Celia            24020 1996-12-03 00:00:00.000 Toronto    W
          Linda            40620 1997-11-04 00:00:00.000 New York   N
          David              126 1998-10-05 00:00:00.000 Vancouver  W
          James             7006 1999-09-06 00:00:00.000 Toronto    N
          Alison            9062 2000-08-07 00:00:00.000 New York   W
          Chris             2000 2001-07-08 00:00:00.000 Vancouver  N
          Mary             60020 2002-06-09 00:00:00.000 Toronto    W

(rows affected)
1>
2> --Using the CASE Statement
3> drop procedure sp_demo
4> GO
1>
2CREATE PROCEDURE sp_Demo
3>    @StartDate DATETIME,
4>    @ID INT = 1
5> WITH ENCRYPTION
6> AS
7>    IF @StartDate > GETDATE()
8>       RETURN 1
9>    IF @ID < 0
10>       RETURN 2
11>
12>    SELECT "Result" =
13>    CASE WHEN salary > 1000 THEN     "> 1000"
14>         WHEN salary = 2000 THEN     "= 2000"
15>         WHEN salary < 8000 THEN     "< 8000"
16>    END
17>       FROM Employee
18>       WHERE Id <> @ID
19>         AND Start_Date <> @StartDate
20> GO
1>
2>
3> DECLARE @Start_Date_In smalldatetime
4> DECLARE @Id_In INT
5> SET @Start_Date_In = "24 March 2001"
6> SET @ID_In = 1
7> EXECUTE sp_Demo @Start_Date_In, @ID_In
8>
9>
10> drop table employee
11> GO
Result
------
1000
1000
1000
8000
1000
1000
1000
1000

(rows affected)
1>
           
       
Related examples in the same category
1. Select case statement
2. Case when and else
3. CASE: return a specified value based on a set of business logic
4. Use CASE in the UPDATE statement
5. Case When with else
6. Case when NULL
7. Case when with Mod and ABS()
8. A simple CASE takes an expression that equates to a Boolean result
www.java2java.com | Contact Us
Copyright 2010 - 2030 Java Source and Support. All rights reserved.
All other trademarks are property of their respective owners.