5 Вбудовані функції
Вбудовані функції, що є у розпорядженні користувачів при роботі з SQL, можна умовно розділити на наступні групи:
-
математичні функції ;
-
рядкові функції ;
-
функції для роботи з датою і часом ;
-
функції конфігурування;
-
функції системи безпеки;
-
функції управління метаданими;
-
статистичні функції.
Математичні функції
Короткий огляд математичних функцій представлений в таблиці.
Таблиця 12.1.
|
ABS |
обчислює абсолютне значення числа |
|
ACOS |
обчислює арккосинус |
|
ASIN |
обчислює арксинус |
|
ATAN |
обчислює арктангенс |
|
ATN2 |
обчислює арктангенс з урахуванням квадратів |
|
CEILING |
виконує округлення вгору |
|
COS |
обчислює косинус кута |
|
COT |
повертає котангенс кута |
|
DEGREES |
перетворить значення кута з радіан в градуси |
|
EXP |
повертає експоненту |
|
FLOOR |
виконує округлення вниз |
|
LOG |
обчислює натуральний логарифм |
|
LOG10 |
обчислює десятковий логарифм |
|
PI |
повертає значення "пі" |
|
POWER |
підносить число до ступеня |
|
RADIANS |
перетворить значення кута з градуса в радіани |
|
RAND |
повертає випадкове число |
|
ROUND |
виконує округлення із заданою точністю |
|
SIGN |
визначає знак числа |
|
SIN |
обчислює синус кута |
|
SQUARE |
виконує зведення числа в квадрат |
|
SQRT |
витягує квадратний корінь |
|
TAN |
повертає тангенс кута |
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.
-
На які групи поділяються вбудовані функції язика?
-
Дайте коротку характеристику та перерахуйте відомі вам математичні функції
-
Дайте коротку характеристику та перерахуйте відомі вам рядкові функції.
-
Дайте коротку характеристику та перерахуйте відомі вам функції обробки дати та часу.
