- Явное преобразование. Такие преобразования выполняются пользователями с помощью функций CONVERT, CAST.
Некоторые неявные и явные преобразования от одного типа к другому не поддерживаются. Например, значение nchar не может быть преобразовано к значению image. Тип данных nchar может быть преобразован только к типу данных binary, используя явное преобразование с помощью функций CONVERT, CAST. Значение nchar может быть преобразовано к типу данных nvarchar как явно, так и неявно.
Ограничения и значения столбцов по умолчанию
(см. также: [1], глава 17; [2], глава 6; [3], глава 1)
1.2. Встроенные функции MS SQL Server 2005
SQL Server поддерживает три типа программируемых объектов: функции, хранимые процедуры и триггеры. Вместо исполнения отдельных инструкций и команд эти объекты позволяют создавать программную логику, содержащую циклы, управление исполнением программы, принятие решений и ветвление. Кроме встроенного набора функций, возможно также создание пользовательских функций, содержащих многократно используемый код.
Встроенные функции – реализуют наиболее часто используемые алгоритмы и являются частью Transact-SQL. Данные функции можно условно разделить на следующие группы:
- математические функции;
- строковые функции;
- функции для работы с датой и временем;
- функции конфигурирования;
- функции системы безопасности;
- функции управления метаданными;
- статистические функции.
Математические функции. Большинство этих функций возвращают результат того же типа, что и исходное значение. Поэтому для их использования нужно правильно задавать исходные данные.
Например, при вычислении:
первое выражение неверно, т.к. в качестве аргумента для перевода в радианы взято целое число, и результат получен с округлением до целого числа (с недостатком). При указании хотя бы одного знака после десятичной точки (второе выражение) в аргументе встроенной функции выполняется правильное преобразование.
Рассмотрим некоторые часто используемые математические функции и примеры их применения.
Функция ABS используется для вычисления модуля числа.
Функция ISNUMERIC проверяет, имеет ли указанное выражение числовой тип данных. Если да, то функция возвращает значение 1, иначе – значение 0.
Функция SIGN определяет знак числа. Если значение положительное, то в результате получится 1; если нулевое, то 0; если отрицательное, то -1.
Функция RAND вычисляет случайное число с плавающей точкой в интервале от 0 до 1. Аргумент функции долен иметь тип данных tinyint, int, smallint. Если аргумент отсутствует (RAND( )), то значение функции генерируется на основе системного времени.
Функции FLOOR, CEILING выполняют округление до целых вниз, вверх соответственно.
Функция POWER возводит число (первый аргумент) в степень (второй аргумент). Пример использования этой функции (обратите внимание, что третий результат неправильный – поскольку все исходные данные целочисленные, то и результат тоже приводится к целому числу):
Функция SQUARE выполняет возведение числа в квадрат, а функция SQRT извлекает квадратный корень из числа.
Основные математические функции приведены в таблице:
Строковые функции – используются для работы со строковыми переменными. Рассмотрим примеры некоторых строковых функций.
Функция LENвозвращает длину строки в символах:
Функции LTRIM, RTRIM удаляют пробелы в начале, конце строки соответственно. При вводе текстовых данных в таблицу рекомендуется всегда удалять конечные пробелы, т.к. они могут привести к появлению дублирующихся записей.
Функции LEFT, RIGHTвозвращают указанное количество символов строки, начиная с левого, правого края соответственно:
Функции LOWER, UPPERпереводят все символы строки в нижний, верхний регистр соответственно.
Функция STR выполняет конвертирование значения числового типа в символьный формат. Первый аргумент содержит само число, второй аргумент определяет длину символьной строки, третий аргумент определяет количество знаков после десятичной точки, которое будет переведено в строку.
Функция SUBSTRING возвращает для строки подстроку указанной длины, начиная с заданного символа.
Основные строковые функции приведены в таблице:
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.