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

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

Жанры

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

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

Метатель

Тарасов Ник
1. Метатель
Фантастика:
боевая фантастика
попаданцы
рпг
фэнтези
фантастика: прочее
постапокалипсис
5.00
рейтинг книги
Метатель

Магия чистых душ

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

Барон Дубов

Карелин Сергей Витальевич
1. Его Дубейшество
Фантастика:
юмористическое фэнтези
аниме
сказочная фантастика
фэнтези
5.00
рейтинг книги
Барон Дубов

#Бояръ-Аниме. Газлайтер. Том 11

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

Барон диктует правила

Ренгач Евгений
4. Закон сильного
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Барон диктует правила

Попытка возврата. Тетралогия

Конюшевский Владислав Николаевич
Попытка возврата
Фантастика:
альтернативная история
9.26
рейтинг книги
Попытка возврата. Тетралогия

Долгий путь домой

Русич Антон
Вселенная EVE Online
Фантастика:
космическая фантастика
попаданцы
6.20
рейтинг книги
Долгий путь домой

Гардемарин Ее Величества. Инкарнация

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

Завод-3: назад в СССР

Гуров Валерий Александрович
3. Завод
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Завод-3: назад в СССР

Решала

Иванов Дмитрий
10. Девяностые
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Решала

Камень. Книга пятая

Минин Станислав
5. Камень
Фантастика:
боевая фантастика
6.43
рейтинг книги
Камень. Книга пятая

Отдельный танковый

Берг Александр Анатольевич
1. Антиблицкриг
Фантастика:
боевая фантастика
альтернативная история
5.00
рейтинг книги
Отдельный танковый

Метатель. Книга 3

Тарасов Ник
3. Метатель
Фантастика:
попаданцы
альтернативная история
рпг
фэнтези
фантастика: прочее
постапокалипсис
5.00
рейтинг книги
Метатель. Книга 3

Боярышня Евдокия

Меллер Юлия Викторовна
3. Боярышня
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Боярышня Евдокия