Иллюстрированный самоучитель по SQL для начинающих

Определение значений

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

Числовые функции значения могут принимать данные разных типов, но возвращают всегда числовое значение. В SQL имеется тринадцать таких функций.

  • Положение (POSITION).
  • Извлечение (EXTRACT).
  • Длина (CHAR_LENGHT, CHARACTER_LENGHT, OCTET_LENGHT).
  • Кардинальные числа (CARDINALITY).
  • Абсолютное значение (ABS).
  • Остаток от деления нацело (MOD).
  • Натуральный логарифм (LN).
  • Экспонента (ЕХР).
  • Возведение в степень (POWER).
  • Квадратный корень (SQRT).
  • Округление "вниз" (FLOOR).
  • Округление "вверх" (CEIL, CEILING).
  • Интервальный номер (WIDTH_BUCKET).

POSITION

Функция POSITION (положение) ищет указанную целевую строку внутри указанной исходной и возвращает положение в ней начального символа целевой строки. Эта функция имеет такой синтаксис:

POSITION (целевая_строка IN исходная_строка)

В следующей таблице приведено несколько примеров использования POSITION для исходной строки 'Полностью пшеничный хлеб'.

Выражение Результат
POSITION ('П' IN 'Полностью пшеничный хлеб') 1
POSITION ('Пол' IN 'Полностью пшеничный хлеб') 1
POSITION ('пш' IN 'Полностью пшеничный хлеб') 11
POSITION ('пшо' IN 'Полностью пшеничный хлеб') 0
POSITION ('' IN 'Полностью пшеничный хлеб') 1

Если эта функция не находит целевую строку, то возвращает неопределенное значение. А если у целевой строки нулевая длина (как в последнем примере), то функция POSITION всегда возвращает единицу. Если любой из операндов этой функции имеет значение NULL, то в результате ее выполнения получится NULL.

EXTRACT

Функция EXTRACT (извлечь) извлекает одиночное поле из значения типа даты-времени или интервала. Например, следующее выражение возвращает 08:

EXTRACT (MONTH FROM DATE '2000-08-20').

CHARACTER_LENGTH

Функция CHARACTER_LENGTH (длина в символах) возвращает количество символов, находящихся в символьной строке. Например, следующее выражение возвращает 15:

CHARACTER_LENGTH (' Жареный опоссум')

Помни:
То, что уже говорилось в этой главе по поводу функции SUBSTRING, относится и к CHARACTER_LENGTH – эта функция не особенно полезна, если ее аргументами являются литералы, например, такие как 'Жареный опоссум'. Вместо выражения CHARACTER_LENGTH ('Жареный опоссум') можно написать число 15. Действительно, написать '15' проще. Функция SUBSTRING становится более полезной, если ее аргумент является не литеральным значением, а выражением
.

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.