Оператор выборки в Transact-SQL. Использование представлений (Лабораторная работа № 3), страница 5

select pas_name + ‘ ‘ + substring(pas_initials, 1, 1) + ‘. ‘ +  substring(pas_initials, 2, 1) + ‘.’ as fio

                       from passengers

Итоговый набор данных включает один столбец (ему присвоено имя fio) с фамилиями и инициалами пассажиров. Чтобы привести данные к формату ‘Фамилия И. О.’, используется, во-первых, операция конкатенации строк (обозначается знаком ‘+’) и функция substring() для выделения подстроки из строки. В качестве первого аргумента этой функции использован целый столбец таблицы – pas_initials. Функция substring() обрабатывает каждое его значение, и в результате будет получен столбец, количество элементов которого равно количеству элементов pas_initials. Это свойство справедливо для большинства функций Transact-SQL: они приспособлены для работы как с атомарными значениями, так и со столбцами таблиц.

Множество функций Transact-SQL можно разбить на следующие группы:

·  функции просмотра конфигурации;

·  функции работы с курсорами;

·  функции работы с датой и временем;

·  математические функции;

·  функции метаданных;

·  функции подсистемы безопасности;

·  строковые функции;

·  системные функции;

·  статистические функции;

·  функции работы с типами данных image, text и ntext.

Для выполнения настоящей работы полезно знать математические, строковые функции, а также функции для работы с датой и временем (табл. 3 – 5).

Таблица 3 – Математические функции

Функция

Описание

abs(x)

Возвращает модуль числа x

acos(x)

Возвращает арккосинус x в радианах

asin(x)

Возвращает арксинус x в радианах


atan(x)

Возвращает арктангенс x в радианах

ceiling(x)

Возвращает первое целое число, большее или равное x (x – вещественное число)

cos(x)

Возвращает косинус угла x, заданного в радианах

cot(x)

Возвращает котангенс угла x, заданного в радианах

degrees(x)

Возвращает значение угла x, заданного радианами, в градусах


exp(x)

Возвращает экспоненту значения x


floor(x)

Возвращает первое целое число, меньшее или равное x (x – вещественное число)

log(x)

Возвращает натуральный логарифм числа x

log10(x)

Возвращает десятичный логарифм числа x


pi()

Возвращает число p

power(x, y)

Возвращает результат возведения числа x в степень y

radians(x)

Возвращает значение угла x, заданного градусами, в радианах

rand([x])

Генерирует случайное число от 0 до 1.

x – начальное значение; если не указано, тогда производится его генерация на основе системного времени


Продолжение таблицы 3

round(x, l [,f])

Возвращает число x, округленное до заданного разряда.

Параметр l указывает позицию разряда справа или слева от десятичной точки, до которого нужно округлять. Если l отрицательно, округление происходит до l-ого разряда слева от точки; если положительно – справа от точки.

Параметр f может быть опущен или явно задан равным нулю. В этом случае округление в большую или меньшую сторону производится по общепринятым правилам арифметики. Если f отлично от нуля, округление сводится только к отбрасыванию ненужной части числа


sign(x)

Возвращает знак числа x:

  • 1 – число положительное;
  • -1 – число отрицательное;
  • 0 – число равно нулю.

sin(x)

Возвращает синус угла x, заданного в радианах

square(x)

Возвращает квадрат числа x

sqrt(x)

Возвращает квадратный корень числа x

tan(x)

Возвращает тангенс угла x, заданного в радианах

Таблица 4 – Строковые функции