Галерея
7757 8119 8300 8698 8817 9504 9722 9937
Интересные записи
Топовые новости
Новое

Типы данных Oracle


ORACLE

Как показано ниже, Oracle поддерживает множество типов данных, в том числе большинство стандартных типов SQL 2003. Естественно, для этого нужно скачать и установить сам ORACLE.


Типа для больших данных

В FILE (тип данных SQL 2003: DATALINK)

Содержит указатель на объект типа BLOB, хранимый вне пределов базы данных, но находящийся на локальном сервере и имеющий размер до 4 Гб. База данных осуществляет потоковый доступ по чтению (но не по записи) к этому внешнему объекту. Если вы удалите строку, содержащую значение типа BFILE, будет удален только указатель. Исходная структура файлов не затрагивается.

BINARY FLOAT(тип данных SQL 2003: FLOAT)

Хранит 32-битное число с плавающей точкой. BINARY DOUBLE (тип данных SQL 2003: FLOAT) Хранит 64-битное число с плавающей точкой.

BLOB (тип данных SQL 2003: BLOB)

Храпит большой двоичный объект (binary large object, BLOB) размером от 8 до 128 терабайт в зависимости от размера блока в базе данных. В Oracle большие двоичные объекты (BLOB, CLOB, NCLOB) имеют следующие ограничения.

  • Их нельзя выбирать с удаленной машины.
  • Их нельзя сохранять в кластерах.
  • Их нельзя объединять в типе varray.
  • Они не могут быть компонентом предложений ORDER BYw GROUP BY ъ запросе.
  • Их нельзя использовать в агрегатных функциях запроса.
  • На них нельзя ссылаться в запросах при помощи инструкций DISTINCT wUNIQUE или в соединениях.
  • На них нельзя ссылаться в предложениях ANALYZE…COMPUTE и ANALYZE… ESTIMATE.
  • Они не могут быть частью первичного ключа или ключа индекса.
  • Их нельзя использовать в предложении UPDATE OF триггера UPDATE.

CHAR(n) [BYTE | CHAR], СНАRACTER(n)[BYTE CHAR] (тип данных SQL 2003: CHARA CTER(n))

Хранит массив символьных данных фиксированной длины до 2000 байт. При указании атрибута BYTE длина массива измеряется в байтах. При указании атрибута CHAR длина измеряется в символах.

CLOB (тип данных SQL 2003: CLOB)

Хранит большой символьный объект (large character object, CLOB) размером от 8 до 128 терабайт в зависимости от размера блока в базе данных.

DATE (тип данных SQL 2003: DATE)

Хранит дату и время в диапазоне от 00:00:00 01-01-4712 до н. э. до 23:59:59 31-12-9999.

DECIMALfp, s) (тип данных SQL 2003: DECIMALfp, s))

Синоним типа NUMBER, принимающий в качестве аргументов точность и масштаб.

DOUBLE PRECISION (тип данных SQL 2003: DOUBLE PRECISION)

Хранит значения с плавающей точкой двойной точности. То же, что FLOAT(126).

FLOAT(n) (тип данных SQL 2003: FLOAT(n))

Хранит числовые данные с плавающей точкой с двоичной точностью до 126.

INTEGER(n) (тип данных SQL 2003: INTEGER)

Хранит целые числа со знаком и без знака с точностью до 38. Тип INTEGER считается синонимом NUMBER.

INTERVAL DAY (n) ТО SECOND (х) (тип данных SQL 2003: INTERVAL)

Хранит промежуток времени, измеряемый в днях, часах, минутах и секундах, п -число цифр в поле «день» (допустимые значения 0-9, по умолчанию — 2), а х-число цифр для долей секунды в поле секунд (допустимые значения 0-9, по умолчанию — 6).

INTERVAL YEAR (n) ТО MONTH (х) (тип данных SQL 2003: INTERVAL)

Хранит промежуток времени, измеряемый в годах и месяцах, где n — число цифр в поле года. Значение n может быть от 0 до 9, по умолчанию — 2.

LONG (тип данных SQL 2003: отсутствует)

Хранит массив символьных данных переменной длины до 2 Гб. Тем не менее нужно заметить, что Oracle в долгосрочной перспективе не планирует поддерживать тип LONG. Вместо этого типа старайтесь везде, где возможно, использовать другие типы, например CLOB.

LONG RAW (тип данных SQL 2003: отсутствует)

Хранит сырые двоичные данные переменной длины до 2 Гб. Типы LONG RAW и RA W обычно используются для хранения графики, звуковых данных, документов и других больших структур. Использование типа BLOB является более предпочтительным, чем применение LONG RAW, поскольку BLOB имеет меньше ограничений. Тип LONG RAW также выходит из употребления.

NATIONAL CHARACTER VARYING(n), NATIONAL CHAR VARYING(n), NCHAR VARYING(n)

Тип данных SQL 2003: NCHAR VARYlNG(n)) тo же, что и NVARCHAR2.

NCHAR(n), NATIONAL CHARACTER, NATIONAL CHAR(n) (тип данных SQL 2003:NATIONAL CHARACTER)

Хранит данные в формате символов UNICODE длиной от 1 до 2000 байт. По умолчанию — 1 байт.

NCLOB (тип данных SQL 2003: NCLOB)

Представляет собой CLOB с поддержкой многобайтовых символов и UNICODE размером от 8 до 128 терабайт в зависимости от размера блока базы данных.

NUMBER(p, s), NUMERIC(p, s) (тип данных SQL 2003: NUMERIC(p.s))

Хранит числа с точностью в пределах от 1 до 38 и масштабом от-84 до 127.

NVARCHAR2(n) (тип данных SQL 2003: отсутствует)

Представляет собой рекомендуемый Oracle тип для хранения символьных данных переменной длины. Может занимать от 1 до 4000 байт.

RAW(n) (тип данных SQL 2003: отсутствует)

Хранит массив сырых данных переменной длины до 2000 байт. Значение п указывает размер типа данных. В Oracle 10g тип RAW исключен. Смотрите LONG RAW.

REAL (тип данных SQL 2003: REAL)

Хранит значения с плавающей точкой с одинарной точностью. То же, что FLOAT(63).

ROW ID (тип данных SQL 2003: отсутствует)

Представляет собой уникальный идентификатор типа base-64 для каждой строки таблицы. Часто используется с псевдостолбцом ROWID.

SMALLINT

Тип данных SQL 2003: SMALL1NT, то же, что INTEGER.

TIMESTAMP(n){[WITH TIME ZONE] [WITH LOCAL TIME ZONE]} (тип данных SQL 2003: TIMESTAMP [WlTH TIME ZONE])

Значение полной даты и времени, где п — количество цифр для долей секунды в поле секунд (допустимые значения 0 — 9, по умолчанию — 6). При указании атрибута WITH TIME ZONE сохраняется переданный в качестве параметра часовой пояс (по умолчанию — часовой пояс текущего сеанса) и значение времени выдается с учетом этого часового пояса. При указании атрибута WITH LOCAL TIME ZONE данные хранятся с учетом часового пояса текущего сеанса и возвращаются также с учетом часового пояса текущего сеанса.

UROWID [(п)] (тип данных SQL 2003: отсутствует)

Хранит значение типа base-64, показывающее логический адрес строки в таблице. По умолчанию размер составляет 4000 байт. Вы можете при желании указать размер в пределах до 4000 байт.

VARCHAR(n), CHARACTER VARYING(n), CHAR VARYING(n) (тип данных SQL 2003: CHARACTER VARYING(n))

Хранит символьные данные размером от 1 до 4000 байт.

VARCHAR2(n [BYTE CHAR]) (тип данных SQL 2003: CHARACTER VARYING(n))

Хранит символьные данные переменной длины до 4000 байт (определяется параметром и). Атрибут BYTE показывает, что размер измеряется в байтах. Если вы используете атрибут CHAR, база Oracle должна провести внутреннее преобразование в определенное количество байт, которое должно соответствовать ограничению в 4000 байт.

XMLTYPE (тип данных SQL 2003: XML)

Хранит в базе Oracle данные формата XML. Доступ к данным XML осуществляется с помощью выражений XPath, а также нескольких встроенных XPath-функций, функций SQL и пакетов PL/SQL. Тип XMLTYPE определяется системой, поэтому его можно использовать в качестве аргумента функций, а также типа данных для столбца в таблице или представлении. При использовании этого типа в таблице данные можно сохранить в форме CLOB или связанного объекта.

Oracle не рекомендует использовать тип VARCHAR. В течение многих лет Oracle поощряет использование типа VARCHAR2.

Источник