Чтение онлайн

на главную - закладки

Жанры

Понимание SQL

Грубер Мартин

Шрифт:

Для все прочих типов, отличия слишком малы чтобы их как-то классифицировать.

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

ТИПЫ ANSI

Ниже представлены типы данных ANSI (имена в круглых скобках - это синонимы ):

TEXT

ТЕКСТ

CHAR (или CHARACTER)

Строка текста в реализационно-определенном формате. Размер агрумента здесь это единственное неотрицательное целое число которое ссылается к максимальной длине строки. Значения этого типа, должны быть заключены в одиночные кавычки, например 'text'. Две рядом стоящие одиночные кавычки ('') внутри строки будет пониматься как одна одиночная кавычка (').

ПРИМЕЧАНИЕ:

Здесь и далее, фраза Реализационно-Определенный или Реализационно Зависимый, указывает, что этот аргумент или формат зависит от конкретной программы в которой реализуются данные.

EXACT NUMERIC

ТОЧНОЕ ЧИСЛО

DEC (или DECIMAL)

Десятичное число; то есть, число которое может иметь десятичную точку. Здесь аргумент размера имеет две части: точность и масштаб. Масштаб не может превышать точность. Сначала указывается точность, разделительная запятая и далее аргумент масштаба. Точность указывает сколько значащих цифр имеет число. Максимальное десятичное число составляющее номер - реализационно-определенное значение, равное или большее чем этот номер. Масштаб указывает максимальное число цифр справо от десятичной точки. Масштаб =нулю делает поле эквивалентом целого числа.

NUMERIC

Такое же как DECIMAL за исключением того, что максимальное десятичное не может превышать аргумента точности.

INT (или INTEGER)

Число без десятичной точки. Эквивалентно DECIMAL, но без цифр справа от десятичной точки, то-есть с масштабом равным 0. Аргумент размера не используется (он автоматически установливается в реализационно-зависимое значение).

SMALLINT

Такое же как INTEGER, за исключением того, что, в зависимости от реализации, размер по умолчанию может (или не может ) быть меньшее чем INTEGER.

APPROXIMATE NUMERIC

ПРИБЛИЗИТЕЛЬНОЕ ЧИСЛО

FLOAT

Число с плавающей запятой на основе 10 показа тельной функции. Аргумент размера состоит из одного числа определяющего минимальную точность.

REAL

Такое же как FLOAT, за исключением того, что никакого аргумента размера не используется. Точность становлена реализационно-зависимую по умолчанию.

DOUBLE

Такое же как REAL, за исключением того, что реаPRECISION лизационно-определяемая точность для DOUBLE PRE( или DOUBLE ) CISION должна превышать реализационно-определяемую точность REAL.

ЭКВИВАЛЕНТНЫЕ ТИПЫ ДАННЫХ В ДРУГИХ ЯЗЫКАХ

Когда используется вложение SQL в другие языки, значения используемые и произведенные командами SQL, обычно сохраняются в переменных главного языка( см. Главу 25). Эти переменные должны иметь тип данных совместимый со значениями SQL, которые они будут получать. В дополнениях, которые не являются частью официального SQL стандарта, ANSI обеспечивает поддержку при использовании вложения SQL в четыре языка: Паскаль, PL/I, КОБОЛ, и ФОРТРАН. Между прочим, он включает определение эквивалентов SQL, для данных типов переменных используемых в этих языках.

Эквиваленты типов данных четырех языков определенных ANSI:

ПЛ/I

SQL ТИП

ЭКВИВАЛЕНТ ПЛ/I

CHAR

CHAR

DECIMAL

FIXED DECIMAL

INTEGER

FIXED BINARY

FLOAT

FLOAT BINARY

КОБОЛ

SQL ТИП

ЭКВИВАЛЕНТ КОБОЛА

CHAR (<integer>)

PIC X (<integer>)

INTEGER

PIC S (<nines>) USAGE COMPUTTATIONAL

NUMERIC

PIC S (< nines with embedded V > )DISPLAY SING LEADING SEPERATE

ПАСКАЛЬ

SQL ТИП

ЭКВИВАЛЕНТ ПАСКАЛЯ

INTEGER

INTEGER

REAL

REAL

CHAR (<length>)

PACKED ARRAY [1..<length>] OF CHAR

ФОРТРАН

SQL ТИП

ЭКВИВАЛЕНТ ФОРТРАНА

CHAR

CHAR

INTEGER

INTEGER

REAL

REAL

DOUBLE PRECISION

DOUBLE PRECISION

Приложение C. НЕКОТОРЫЕ ОБЩИЕ НЕСТАНДАРТНЫЕ СРЕДСТВА SQL

ИМЕЕТСЯ РЯД ОСОБЕННОСТЕЙ ЯЗЫКА SQL которые пока не определены как часть стандарта ANSI или стандарта ISO (Международная Организация По Стандартизации), и являются общими для многочисленных реализаций, так как они были получены для практического использования. Это дополнительные элементы чисел этих особенностей. Конечно, эти особенности меняются от программы к программе, и их обсуждение предназначено только чтобы показать некоторые общие подходы к ним.

ТИПЫ ДАННЫХ

Типы данных поддерживаемые стандартом SQL, собраны в Приложении B. Это колличество для CHARACTER и разнообразие числовых типов. Реализация их может, фактически, быть значительно сложнее чем показано в терминах типов, которые они фактически могут использовать. Мы будем здесь обсуждать ряд таких нестандартных типов данных.

ТИПЫ DATE И TIME

Как упомянуто в Главе 2, тип данных DATE широко поддерживается, даже если он не часть стандарта. Мы использовали ранее в нашей таблице Порядков, этот тип использующий формат mm/dd/yyyy. Это стандартный формат IBM в США. Разумеется возможны и другие форматы, и программные реализации часто поддерживают ряд форматов, позволяя вам выбирать тот который лучше для вас подходит. Реализация которая предлагает эту особенность должна быть способна преобразовывать дату одного формата в другой - автоматически.

Имеются несколько основных форматов даты с которыми вы можете сталкнуться:

Стандарт

Формат

Пример

Международная Организация По Стандартизации (ISO)

yyyy-mm-dd

1990-10-31

Японский Индустриальный Стандарт (JIS)

yyyy-mm-dd

1990-10-31

IBM Европейский Стандарт (EUR)

dd.mm.yyyy

10.31.1990

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

Ворон

Смолл Бертрис
Любовные романы:
исторические любовные романы
8.79
рейтинг книги
Ворон

QT 4: программирование GUI на С++

Саммерфилд Марк
Компьютеры и Интернет:
программирование
5.00
рейтинг книги
QT 4: программирование GUI на С++

Страж. Тетралогия

Пехов Алексей Юрьевич
Страж
Фантастика:
фэнтези
9.11
рейтинг книги
Страж. Тетралогия

Человек случайностей (др. изд.)

Мердок Айрис
Проза:
современная проза
6.80
рейтинг книги
Человек случайностей (др. изд.)

Я все еще барон

Дрейк Сириус
4. Дорогой барон!
Фантастика:
боевая фантастика
5.00
рейтинг книги
Я все еще барон

Трилогия «Хроники Сиалы»

Пехов Алексей Юрьевич
3. В одном томе
Фантастика:
фэнтези
9.47
рейтинг книги
Трилогия «Хроники Сиалы»

Война

Валериев Игорь
7. Ермак
Фантастика:
боевая фантастика
альтернативная история
5.25
рейтинг книги
Война

Я еще не барон

Дрейк Сириус
1. Дорогой барон!
Фантастика:
боевая фантастика
попаданцы
аниме
5.00
рейтинг книги
Я еще не барон

Стечкин

Чуев Феликс Иванович
582. Жизнь замечательных людей
Документальная литература:
биографии и мемуары
5.00
рейтинг книги
Стечкин

Сборник "Солдат удачи"

Авраменко Александр Михайлович
Фантастика:
боевая фантастика
6.83
рейтинг книги
Сборник Солдат удачи

Золото бунта

Иванов Алексей Викторович
Приключения:
исторические приключения
7.50
рейтинг книги
Золото бунта

Ураганные Хроники

BlackRaven
2. Свет горизонта
Фантастика:
фэнтези
4.80
рейтинг книги
Ураганные Хроники

Русский рок. Малая энциклопедия

Коллектив авторов
Справочная литература:
энциклопедии
7.00
рейтинг книги
Русский рок. Малая энциклопедия

Леди Малиновой пустоши

Шах Ольга
Любовные романы:
любовно-фантастические романы
6.20
рейтинг книги
Леди Малиновой пустоши