Do calculation in a procedure : Select Data « Transact SQL « 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 » Transact SQL » Select Data 
Do calculation 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,       region)
3>               values (1,  'Jason', 40420,  '02/01/94', 'New York', 'W')
4> GO

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

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

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

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

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

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

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

(rows affected)
1insert into employee (ID, name,    salary, start_date, city,       region)
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       region
----------- ---------- ----------- ----------------------- ---------- ------
          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            80026 1998-10-05 00:00:00.000 Vancouver  W
          James            70060 1999-09-06 00:00:00.000 Toronto    N
          Alison           90620 2000-08-07 00:00:00.000 New York   W
          Chris            26020 2001-07-08 00:00:00.000 Vancouver  N
          Mary             60020 2002-06-09 00:00:00.000 Toronto    W

(rows affected)
1>
2> Drop procedure spMarkupTest
3> GO
1>
2CREATE PROC spMarkupTest
3> @MarkupAsPercent money
4> AS
5> DECLARE @Multiplier money
6SELECT @Multiplier = @MarkupAsPercent / 100 1
7SELECT Id, Name, salary,
8>    salary * @Multiplier AS "Marked Up salary""New salary" =
9>    CASE WHEN FLOOR(salary * @Multiplier + .24> FLOOR(salary * @Multiplier)
10>                       THEN FLOOR(salary * @Multiplier.95
11>         WHEN FLOOR(salary * @Multiplier + .5>
12>               FLOOR(salary * @Multiplier)
13>                       THEN FLOOR(salary * @Multiplier.75
14>         ELSE FLOOR(salary * @Multiplier.49
15>   END
16FROM Employee
17> GO
1>
2> EXEC spMarkupTest @MarkupAsPercent = 1.2
3> GO
Id          Name       salary      Marked Up salary      New salary
----------- ---------- ----------- --------------------- ----------------------
          Jason            40420            40905.0400             40905.4900
          Robert           14420            14593.0400             14593.4900
          Celia            24020            24308.2400             24308.4900
          Linda            40620            41107.4400             41107.4900
          David            80026            80986.3120             80986.4900
          James            70060            70900.7200             70900.7500
          Alison           90620            91707.4400             91707.4900
          Chris            26020            26332.2400             26332.4900
          Mary             60020            60740.2400             60740.4900

(rows affected)
1>
2> drop table employee
3> GO
1>
           
       
Related examples in the same category
www.java2java.com | Contact Us
Copyright 2010 - 2030 Java Source and Support. All rights reserved.
All other trademarks are property of their respective owners.