Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
курс лекций БД.rtf
Скачиваний:
28
Добавлен:
10.07.2019
Размер:
4.48 Mб
Скачать
      1. Константы

В стандарте ANSI/ISO определен формат числовых и строковых констант, или литералов, которые представляют конкретные значения данных. Этот формат используется в большинстве реализации SQL.

Числовые константы. Целые и десятичные константы (известные также под названием точных числовых литералов) в операторах SQL представляются в виде обычных. десятичных чисел с необязательным знаком плюс (+) или минус (-) перед ними:

21 -3752000,00 +497500,8778

Константы с плавающей запятой (известные также под названием приблизительных числовых литералов) определяются с помощью символа Е и имеют такой же формат, как и в большинстве языков программирования. Ниже приведены примеры констант с плавающей запятой:

1.5Е3 -3.14159Е1 2.5Е-7 0.783926Е21

Символ Е читается как "умножить на десять в степени", так что первая константа представляет число "1,5 умножить на десять в степени 3", или 1500.

Строковые константы. В соответствии со стандартом ANSI/ISO, строковые константы в SQL должны быть заключены в одинарные кавычки, как показано в следующих примерах:

Jones, John J.' 'New York' 'Western'

Если необходимо включить в строковую константу одинарную кавычку, вместо нее следует написать две одинарные кавычки.

Константы даты и времени. В реляционных СУБД календарные даты, время и интервалы времени представляются в виде строковых констант. Форматы этих констант в различных СУБД отличаются друг от друга. Кроме того, способы записи времени и даты изменяются в зависимости от страны.

Символьные константы. Кроме пользовательских констант, в SQL существуют специальные символьные константы, возвращающие значения, хранимые в самой СУБД.

В стандарт SQL2 вошли наиболее полезные символьные константы из различных реализации SQL, в частности константы CURRENT_DATE, CURRENT_TIME, CURRENT_TIMESTAMP, а также USER, SESSION_USER и SYSTEM_USER (обратите внимание на знак подчеркивания!).

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

SELECT CITY, TARGET, SALES, (SALES/TARGET) * 100

FROM OFFICES

В соответствии со стандартом ANSI/ISO, в выражениях можно использовать четыре арифметические операции: сложение (X + Y), вычитание (X – Y), умножение (X * Y) и деление (X / Y). Для формирования сложных выражений можно использовать скобки.

Отсутствующие данные (значения NULL). Поскольку база данных представляет собой модель реального мира, отдельные элементы данных в ней неминуемо будут отсутствовать или подходить не для всех сущностей. Для указания на такие данные используеBӦся специальная константа – NULL.

Встроенные функции

В стандарт SQL2 вошли наиболее полезные функции из различных реализации SQL. Эти функции перечислены в таблце.

табл. 9.2 Встроенные функции SQL.

Функция

Возвращается

ВIT LENGTH(строка)

количество битов в строке

САSТ(значение AS тип данных)

значение, преобразованное тип данных (например, дата преобразованная в строку)

CHAR_LENGTH(строка)

длина строки символов

CONVERT(строка USING функция)

строка, преобразованная в соответствии с указанной функцией

CURRENT_DATE

текущая дата

CURRENT_TIME(точность)

текущее время с указанной точностью

CURRENT_IMESTAMP (точность)

текущие дата и время с указанной точностью

EXTRACT(часть FROM значение)

указанная часть (DAY, HOUR и т.д.) из значения типа DATETIME

LOWER(строка)

строка, преобразованная к нижнему регистру

OCTETLENGTH(строка)

число байтов в строке символов

POSITION(первая строка IN вторая строка)

позиция, с которой начинается вхождение первой строки во вторую строку

SUBSTRING(строка FROM n FOR длина)

часть строки, начинающаяся с n-го символа и имеющая указанную длину

TRANSLATE(строка USING функция)

строка, преобразованная с помощью указанной функции

TRIM(BOTH символ FROM строка)

строка, в которой удалены первые и последние указанные символы

TRIM(LEADING символ FROM строка)

строка, в которой удалены первые указанные символы

TRIM(TRAILING символ FROM строка)

строка, в которой удалены последние указанные символы

UPPER(строка)

строка, преобразованная к верхнему регистру