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

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

Жанры

Понимание 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

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

Адвокат Империи 10

Карелин Сергей Витальевич
10. Адвокат империи
Фантастика:
городское фэнтези
аниме
дорама
попаданцы
5.00
рейтинг книги
Адвокат Империи 10

Кодекс Охотника. Книга XVI

Винокуров Юрий
16. Кодекс Охотника
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Кодекс Охотника. Книга XVI

Как я строил магическую империю 10

Зубов Константин
10. Как я строил магическую империю
Фантастика:
попаданцы
аниме
фантастика: прочее
5.00
рейтинг книги
Как я строил магическую империю 10

Двойник Короля 5

Скабер Артемий
5. Двойник Короля
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Двойник Короля 5

Боярич Морозов

Шелег Дмитрий Витальевич
3. Наследник старого рода
Фантастика:
героическая фантастика
боевая фантастика
альтернативная история
7.12
рейтинг книги
Боярич Морозов

Горячий старт. Часть 2

Глазачев Георгий
2. Бесконечная Империя Вечности
Фантастика:
фэнтези
попаданцы
рпг
5.00
рейтинг книги
Горячий старт. Часть 2

Виконт. Книга 2. Обретение силы

Юллем Евгений
2. Псевдоним `Испанец`
Фантастика:
боевая фантастика
попаданцы
рпг
7.10
рейтинг книги
Виконт. Книга 2. Обретение силы

Печать Пожирателя 3

Соломенный Илья
3. Пожиратель
Фантастика:
городское фэнтези
аниме
сказочная фантастика
фэнтези
попаданцы
5.00
рейтинг книги
Печать Пожирателя 3

На границе империй. Том 4

INDIGO
4. Фортуна дама переменчивая
Фантастика:
космическая фантастика
6.00
рейтинг книги
На границе империй. Том 4

Технарь

Муравьёв Константин Николаевич
1. Технарь
Фантастика:
космическая фантастика
попаданцы
7.13
рейтинг книги
Технарь

Идеальный мир для Лекаря 27

Сапфир Олег
27. Лекарь
Фантастика:
аниме
фэнтези
5.00
рейтинг книги
Идеальный мир для Лекаря 27

Кодекс Охотника. Книга XXXVIII

Винокуров Юрий
38. Кодекс Охотника
Фантастика:
фэнтези
боевая фантастика
попаданцы
юмористическое фэнтези
5.00
рейтинг книги
Кодекс Охотника. Книга XXXVIII

Адвокат Империи 6

Карелин Сергей Витальевич
6. Адвокат империи
Фантастика:
городское фэнтези
аниме
дорама
попаданцы
5.00
рейтинг книги
Адвокат Империи 6

Ларь

Билик Дмитрий Александрович
10. Бедовый
Фантастика:
городское фэнтези
мистика
5.75
рейтинг книги
Ларь