Вход/Регистрация
Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ
вернуться

Борри Хелен

Шрифт:

UPDATE MEMBERSHIP

SET MEMBER_CODE = MEMBER_GROUP || CAST(MEMBER_ID AS CHAR(8))

WHERE MEMBER_CODE IS NULL;

Связанные материалы

См. главу 8, где более подробно осуждается функция CAST, а также последующие главы, в которых индивидуально рассматриваются типы данных.

EXTRACT

Эта функция выделяет часть полей типа данных DATE, TIME и TIMESTAMP в виде числа.

Доступность

DSQL, PSQL, ISQL, ESQL, Firebird 1.5 и выше. Любая платформа.

Синтаксис

EXTRACT(часть FROM поле)

Необязательные ключевые слова

YEAR | MONTH | DAY | HOUR | MINUTE | SECOND | WEEKDAY | YEARDAY

Аргументы

часть является одним значением из указанного списка необязательных ключевых слов, WEEKDAY выделяет день недели (воскресенье = 1, понедельник = 2 и т.д.), YEARDAY выделяет день в году (от 1 января = 1 до 366).

поле- поле типа данных DATE, TIME или TIMESTAMP (столбец, переменная или выражение).

Возвращаемое значение

Все части возвращают SMALLINT за исключением SECOND, которое возвращает

DECIMAL(6,4).

Замечания

EXTRACT будет работать только со значениями, которые преобразуются к полям дата/время.

Пример

Следующий оператор возвращает имена и дни рождения, упорядоченные no BIRTHDAY, для всех участников, имеющих день рождения в текущем месяце:

SELECT

FIRST_NAME,

LAST_NAME,

EXTRACT(DAY FROM DATE_OF_BIRTH) AS BIRTHDAY

FROM MEMBERSHIP

WHERE DATE_OF_BIRTH IS NOT NULL

AND EXTRACT (MONTH FROM DATE_OF_BIRTH) = EXTRACT (MONTH FROM

CURRENT_DATE)

ORDER BY 3;

Строковые функции

Firebird имеет только две внутренние строковые функции. Большое количество строковых функций доступно во внешних функциях (см. следующий раздел этой главы).

SUBSTRING

SUBSTRING является внутренней функцией, реализующей функцию ANSI SQL SUBSTRING. Она возвращает поток, состоящий из байта с номером начальная-позиция и всех последующих байтов до конца строки значение. Если указано необязательное предложение FOR длина, она вернет меньшее из длина байт и количество байт до конца входного потока.

Доступность

DSQL, PSQL, ISQL, ESQL, Firebird 1.5 и выше. Любая платформа.

Синтаксис

SUBSTRING(значение FROM начальная-позиция [FOR длина])

Необязательные ключевые слова

Необязательное предложение FOR задает длину возвращаемой подстроки.

Аргументы

значение может быть любым выражением, константой или идентификатором столбца, который преобразуется в строку.

начальная-позиция должна преобразовываться в целое >= 1. Не может быть заменяемым параметром.

длина должна преобразовываться в целое >= 1. Не может быть заменяемым параметром.

Возвращаемое значение

Возвращаемое значение является строкой.

Замечания

Значения начальная-позиция и длина являются позициями байтов, что имеет значение для многобайтовых наборов символов.

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

Для аргументов столбцов BLOB указанный столбец должен быть двоичным BLOB (SUB_TYPE 0) или текстовым BLOB (SUB_TYPE 1) с набором символов один байт на символ. В настоящий момент функция не обрабатывает текстовые BLOB с наборами символов Chinese (максимум два байта на символ) и Unicode (максимум три байта на символ).

Пример

Следующий оператор будет изменять значение столбца COLUMNB, присваивая ему строку до 99 символов, начиная с четвертой позиции оригинальной строки:

UPDATE ATABLE

SET COLUMNB = SUBSTRING (COLUMNB FROM 4 FOR 99)

WHERE ...

Связанные или похожие функции

См. также внешние функции SUBSTR, SUBSTRLEN и RTRIM.

UPPER

Преобразует все символы строки в верхний регистр.

  • Читать дальше
  • 1
  • ...
  • 169
  • 170
  • 171
  • 172
  • 173
  • 174
  • 175
  • 176
  • 177
  • 178
  • 179
  • ...

Ебукер (ebooker) – онлайн-библиотека на русском языке. Книги доступны онлайн, без утомительной регистрации. Огромный выбор и удобный дизайн, позволяющий читать без проблем. Добавляйте сайт в закладки! Все произведения загружаются пользователями: если считаете, что ваши авторские права нарушены – используйте форму обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

Подпишитесь на рассылку: