Встроенные функции
Встроенные функции, имеющиеся в распоряжении пользователей при работе с SQL, можно условно разделить на следующие группы:
- математические функции ;
- строковые функции ;
- функции для работы с датой и временем ;
- функции конфигурирования;
- функции системы безопасности;
- функции управления метаданными;
- статистические функции.
Математические функции
Краткий обзор математических функций представлен в таблице.
Таблица 11.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 Товар.КодТовара=
Сделка.КодТовара
Пример
11.4.
Использование функции округления до одного знака после запятой для расчета налога.
(html,
txt)
Строковые функции
Краткий обзор строковых функций представлен в таблице.
Таблица 11.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 для получения инициалов клиентов.
(html,
txt)
Функции для работы с датой и временем
Краткий обзор основных функций для работы с датой и временем представлен в таблице.
Таблица 11.3.
| DATEADD | добавляет к дате указанное значение дней, месяцев, часов и т.д. |
| DATEDIFF | возвращает разницу между указанными частями двух дат |
| DATENAME | выделяет из даты указанную часть и возвращает ее в символьном формате |
| DATEPART | выделяет из даты указанную часть и возвращает ее в числовом формате |
| DAY | возвращает число из указанной даты |
| GETDATE | возвращает текущее системное время |
| ISDATE | проверяет правильность выражения на соответствие одному из возможных форматов ввода даты |
| MONTH | возвращает значение месяца из указанной даты |
| YEAR | возвращает значение года из указанной даты |
SELECT Year(Дата) AS Год, Month(Дата)
AS Месяц,
Sum(Количество) AS Общ_Количество
FROM Сделка
GROUP BY Year(Дата), Month(Дата)
Пример
11.6.
Использование функций YEAR и MONTH для определения общего количества товара, проданного за каждый месяц каждого года.
(html,
txt)
DECLARE @d DATETIME
DECLARE @y INT
SET @d=’29.10.03’
SET @y=DATEPART(yy,@d)
SELECT @y
Пример
11.7.
Пример выделения из даты значения года.
(html,
txt)