19
Функции FLOOR, CEILING выполняют округление до целых вниз, вверх соответственно.
20
Функция POWER возводит число (первый аргумент) в степень (второй аргумент):
(выражение POWER(27,1/3) возвращает целочисленный - неправильный - результат, так как исходные данные – целые числа).
Функция SQUARE выполняет возведение числа в квадрат, а функция SQRT извлекает квадратный корень из числа.
21
Основные математические функции
22
Строковые функции - используются для работы со строковыми переменными. Рассмотрим примеры некоторых строковых функций. Функция LEN возвращает длину строки в символах:
23
Функции LTRIM, RTRIM удаляют пробелы в начале, конце строки соответственно. При вводе текстовых данных в таблицу рекомендуется всегда удалять конечные пробелы, т.к. они могут привести к появлению дублирующихся записей. Функции LEFT, RIGHT возвращают указанное количество символов строки, начиная с левого, правого края соответственно:
24
Функции LOWER, UPPER переводят все символы строки в нижний, верхний регистр соответственно. Функция STR преобразует значения числового типа в символьный формат. Аргументы функции задают: 1-й - само число, 2-й - длину символьной строки, 3-й - количество знаков после десятичной точки, которое будет переведено в строку.
25
Функция SUBSTRING возвращает для строки подстроку указанной длины, начиная с заданного символа.
26
Основные строковые функции
27
Функции для работы с датой и временем
Эти функции принимают в качестве входных значений дату и время и возвращают значения: строковые, числовые, в формате даты и времени. Нужно учитывать, что в SQL Server время считается компонентом типа данных datetime. Многие функции даты и времени имеют параметры, обозначающие единицы измерения времени, например, "год", "месяц", "минута".
28
Примеры функций для работы с датой и временем GETDATE( ) - возвращает текущее системное время (не имеет входных параметров). ISDATE(expression) - проверяет соответствие выражения одному из возможных форматов ввода даты. Если символьное выражение может быть правильно преобразовано в тип данных datetime, то возвращается 1, иначе – 0. Функция используется для предварительной проверки введенной пользователем строки на правильность формата.
29
DAY, MONTH, YEAR - возвращают число, месяц, год (соответственно) из указанной даты. DATEADD(datepart, number, date) - добавляет к дате указанное значение дней, месяцев, часов и т. д. Аргументы: 1-й - тип добавляемого значения (принимает фиксированный набор значений: year, month, …); 2-й - количество единиц, добавляемое к выбранному значению; 3-й - значение типа данных datetime.
30
DATEDIFF(datepart, startdate, enddate) - возвращает разницу между указанными частями двух дат. Например, можно подсчитать количество дней (недель, месяцев и т. д.), прошедших между двумя датами. Форматы для обозначения частей дат соответствуют форматам для функции DATEADD.
31
Функции даты и времени Transact-SQL
32
Примеры использования функций для работы с датой и временем
(используются ограниченные идентификаторы, так как в качестве имен возвращаемых столбцов взяты зарезервированные слова; хотя Year тоже «работает» )
33
Простейший способ получить только дату, «обрезав» время, - использовать несколько функций:
Если значения часов, минут, секунд в БД не хранятся и не используются, то рекомендуется автоматически «обрезать» их при вводе соответствующих данных в БД с помощью триггеров. В результате значения даты хранятся в виде текста. Но при этом теряется возможность обработки дат, используя функции для работы с датой и временем.
34
Функции конфигурирования - возвращают параметры, связанные с конфигурированием SQL Server. Имена этих функций начинаются с символов @@. Примеры некоторых из этих функций: @@CONNECTIONS - возвращает количество попыток (как успешных, так и нет) установить соединение с локальным сервером SQL Server со времени его последнего запуска. Пользователи не могут изменять значение, возвращаемое этой функцией.
35
@@LANGUAGE – показывает, какой язык является текущим.
36
@@LOCK_TIMEOUT - возвращает количество миллисекунд, которое сервер будет ожидать выполнения запроса. Для каждого подключения можно задать свое время ожидания, по истечении которого выполнение запроса прерывается. Значение по умолчанию -1, что соответствует бесконечному ожиданию. В этом случае возможны «мертвые» блокировки, когда две транзакции будут ожидать завершения друг друга. Для установки нового периода ожидания используется команда SET LOCK_TIMEOUT.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.