Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Числовые функции






Числовые функции в качестве параметра могут принимать данные не только числового типа, но возвращают всегда число или NULL (неопределенное значение).

POSITION (целеваяСтрока IN строка) — ищет вхождение целевой строки в указанную строку. В случае успешного поиска возвращает номер положения ее первого символа, иначе – 0. Если целевая строка имеет нулевую длину (например, строка ' '), то функция возвращает 1. Если хотя бы один из параметров имеет значение NULL, то возвращается NULL. Нумерация символов строки ведется слева направо, начиная с 1.

Например:

 

POSITION ('e' IN 'Привет всем') — возвращает 5;

POSITION ('всeм' IN 'Привет всем') — возвращает 8;

POSITION (' ' Привет всем') — возвращает 1;

POSITION('Привет! ' IN 'Привет всем') — возвращает 0.

 

В таблице Клиенты (см. рис. 1) столбец Адрес содержит, кроме названия города, почтовый индекс, название улицы и другие данные. Возможно, вам потребуется выбрать записи о клиентах, проживающих в определенном городе. Так, если требуется выбрать записи, относящиеся к клиентам, проживающим в Санкт-Петербурге, то можно воспользоваться следующим выражением SQL-запроса:

 

SELECT * FROM Клиенты

WHERE POSITION ('Санкт-Петербург' IN Адрес) > 0;

 

Заметим, что этот простой запрос на выборку данных можно сформулировать иначе:

 

SELECT * FROM Клиенты

WHERE Адрес LIKE ' %Петербург% ';

 

EXTRACT (параметр) — извлекает элемент из значения типа дата-время или из интервала. Например:

 

EXTRACT (MONTH FROM DATE '2005-10-25') — возвращает 10.

 

CHARACTER_LENGTH (строка) — возвращает количество символов в строке.

Например:

 

CHARACTER_LENGTH('Привет всем') — возвращает 11.

 

OCTET_LENGTH (строка) — возвращает количество октетов (байтов) в строке. Каждый символ латиницы или кириллицы представляется одним байтом, а символ китайского алфавита — двумя байтами.

CARDINALITY (параметр) — принимает в качестве параметра коллекцию элементов и возвращает количество элементов в коллекции (кардинальное число). Коллекция может быть, например, массивом или мультимножеством, содержащим элементы различных типов.

ABS (число) — возвращает абсолютное значение числа. Например:

 

ABS (-123) —возвращает 123;

ABS (2 - 5) — возвращает 3.

 

МОD (число1, число2) — возвращает остаток от целочисленного деления первого числа на второе. Например:

 

MOD (5, з) — возвращает 2;

MOD (2, з) — возвращает 0.

 

LN (число) — возвращает натуральный логарифм числа.

ЕХР (число) — возвращает е число (основание натурального логарифма в степени число).

POWER (число1, число2) — возвращает число1 число2 (число1 в степени число2).

SQRT (число) — возвращает квадратный корень из числа.

FLOOR (число) — возвращает наибольшее целое число, не превышающее заданное параметром (округление в меньшую сторону). Например:

 

FLOOR (5.123) — возвращает 5.0.

 

CEIL (число) или CEILING (число) — возвращает наименьшее целое число, которое не меньше заданного параметром округление в большую сторону). Например:

 

CEIL (5.123) — возвращает 6. 0.

 

WIDTH_BUCKET (число1, число2, числоЗ, число4) возвращает целое число в диапазоне между 0 и число4 + 1. Параметры число2 и числоЗ задают числовой отрезок, разделенный на равновеликие интервалы, количество которых задается параметром число 4. Функция определяет номер интервала, в который попадает значение число1. Если число1 находится за пределами заданного диапазона, то функция возвращает 0 или число 4 + 1. Например:

 

WIDTH_BUCKET(3.14, 0, 9, 5) — возвращает 2.

 






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.