SELECT Товар.Назва, Операція.Кількість Round(Товар.Ціна*Операція.Кількість*0.05,1)
AS Податок
FROM Товар INNER JOIN Операція ON Товар.КодТовара=Операція.КодТовара
Приклад 12.4. Використовування функції округлення до одного знака після коми для розрахунку податку.
Рядкові функції
Короткий огляд рядкових функцій представлений в таблиці.
Таблиця 12.2.
|
ASCII |
повертає код ASCII лівого символу рядка |
|
CHAR |
за кодом ASCII повертає символ |
|
CHARINDEX |
визначає порядковий номер символу, з якого починається входження підрядка в рядок |
|
DIFFERENCE |
повертає показник збігу рядків |
|
LEFT |
повертає вказане число символів з початку рядка |
|
LEN |
повертає довжину рядка |
|
LOWER |
переводить всі символи рядка в нижній регістр |
|
LTRIM |
видаляє пропуски на початку рядка |
|
NCHAR |
повертає за кодом символ Unicode |
|
PATINDEX |
виконує пошук підрядка в рядку за вказаним шаблоном |
|
REPLACE |
замінює входження підрядка на вказане значення |
|
QUOTENAME |
конвертує рядок у формат Unicode |
|
REPLICATE |
виконує тиражування рядка певне число раз |
|
REVERSE |
повертає рядок, символи якого записані в зворотному порядку |
|
RIGHT |
повертає вказане число символів з кінця рядка |
|
RTRIM |
видаляє пропуски в кінці рядка |
|
SOUNDEX |
повертає код звучання рядка |
|
SPACE |
повертає вказане число пропусків |
|
STR |
виконує конвертацію значення числового типу в символьний формат |
|
STUFF |
видаляє вказане число символів, замінюючи новим підрядком |
|
SUBSTRING |
повертає для рядка підрядок вказаної довжини із заданого символу |
|
UNICODE |
повертає Unicode-код лівого символу рядка |
|
UPPER |
переводить всі символи рядка у верхній регістр |
SELECT Фірма [Прізвище]+""+Left([Ім'я],1)+"."+Left([По Батькові],1)+"." AS ФІО
FROM Клієнт
Приклад 11.5. Використовування функції LEFT для отримання ініціалів клієнтів.
Функції для роботи з датою і часом
Короткий огляд основних функцій для роботи з датою і часом представлений в таблиці.
Таблиця 12.3.
|
DATEADD |
додає до дати вказане значення днів, місяців, годинника і т.д. |
|
DATEDIFF |
повертає різницю між вказаними частинами двох дат |
|
DATENAME |
виділяє з дати вказану частину і повертає її в символьному форматі |
|
DATEPART |
виділяє з дати вказану частину і повертає її в числовому форматі |
|
DAY |
повертає число з вказаної дати |
|
GETDATE |
повертає поточний системний час |
|
ISDATE |
перевіряє правильність виразу на відповідність одному з можливих форматів введення дати |
|
MONTH |
повертає значення місяця з вказаної дати |
|
YEAR |
повертає значення року з вказаної дати |
SELECT Year(Дата) AS Рік, Month(Дата) AS Місяць, Sum(Кількість) AS Заг_Кількість
FROM Операція
GROUP Year(Дата), Month(Дата)
Приклад 11.6. Використовування функцій YEAR і MONTH для визначення загальної кількості товару, проданого за кожний місяць кожного року.
Контрольні питання
Що таке, у вашому розумінні, функція користувача? В чому полягає її призначення?
Які класи функцій користувача ви можете назвати?
Дайте коротку характеристику класу функцій Scalar.
Дайте коротку характеристику класу функцій Inline.
Дайте коротку характеристику класу функцій Multi-statement.
Які аналогії можна провести між функціями користувача і збереженими процедурами?
Дайте опис створення функції користувача типу Scalar.
Дайте опис створення функції користувача типу Inline.
Дайте опис створення функції користувача типу Multi-statement.
На які групи поділяються вбудовані функції язика?
Дайте коротку характеристику та перерахуйте відомі вам математичні функції
Дайте коротку характеристику та перерахуйте відомі вам рядкові функції.
Дайте коротку характеристику та перерахуйте відомі вам функції обробки дати та часу.