Ко всем числовым полям типа int, smallint, tinyint, float, real, monay и smallmonay можно применять арифметические операторы. При этом необходимо учитывать, что:
· они могут выполнять вычисления с числовыми столбцами или числовыми константами;
· остаток после деления целых чисел не может вычисляться для столбцов с типом данных float, real, monay и smallmonay.
Приведем примеры. Пусть в таблице ТИП_НОМЕРА хранится цена проживания в сутки без налога на добавленную стоимость (НДС). Определим цену с учетом НДС.
USE Гостиница
DECLARE @@nds monay
SET @@nds = 0.18
SELECT [Число мест]=Число_мест, Цена, НДС=Цена*@@nds,
[Цена с НДС]=Цена*@@nds
FROM Тип_номера
Результат выборки:
Число мест Цена НДС Цена с НДС
---------- --------------------- ----------------------- ------------------------
1 1200.0000 216.00000 1416.00000
2 600.0000 108.00000 708.00000
3 400.0000 72.00000 472.00000
(3 row(s) affected)
Определим количество номеров, имеющихся в гостинице. Очевидно, что это количество будет равно числу записей таблицы НОМЕР.
SELECT COUNT(*) AS [Число номеров в гостинице]
FROM Номер
Результат выборки:
Число номеров в гостинице
-------------------------
(1 row(s) affected)
Определим максимальную стоимость проживания в сутки.
SELECT [Максимальная стоимость] = MAX(Цена) * @@nds
FROM Тип_номера
Результат выборки:
Максимальная стоимость
------------------------
1416.00000
(1 row(s) affected)