Главная страница
Случайная страница
КАТЕГОРИИ:
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника
|
Типы переменных в PL/SQL
Тип данных
| Максимальный размер
| Описание
| BINARY_INTEGER,
PLS_INTEGER
| -2147483648 до 2147483647
| Длинное целое
| Подтипы BINARY_INTEGER:
NATURAL
NATURALN
POSITIVE
POSITIVEN
SIGNTYPE
|
| Подтипы бинарного целого NATURAL and POSITIVE позволяют запретить все числа, кроме не негативных или позитивных. NATURALN and POSITIVEN запрещает значения типа NULL. SIGNTYPE запрещает все числа, кроме -1, 0, and 1.
| BOOLEAN
| TRUE, FALSE
или NULL
| Логический тип
| VARCHAR2
|
| Символьная строка переменной длины, без указания размера ее длина равна 1
| NUMBER
| Абсолютное значение в диапазоне
(1E-130,
1.0E126)
| Число, поддерживающее режимы фиксированной точки и плавающей точки. Масштаб, указанный с минусом, указывает на округление целой части. Масштаб со знаком плюс или без него обозначает округление до указанного количества знаков дробной части. NUMBER(точность, масштаб);
| Окончание табл. 4.2
Подтипы NUMBER:
DEC
DECIMAL
DOUBLE PRECISION
FLOAT
INT
INTEGER
NUMERIC
REAL
SMALLINT
|
| DEC, DECIMAL и NUMERIC – типы чисел с фиксированной точкой при максимальной точности до 38 десятичных цифр.
DOUBLE PRECISION и FLOAT – типы чисел с плавающей точкой при максимальной точности до 126 двоичных цифр или округленно до 38 десятичных цифр.
REAL – тип числа с плавающей точкой при максимальной точности до 63 двоичных цифр или округленно до 18 десятичных цифр.
INTEGER, INT и SMALLINT – целочисленные типы с максимальной точностью до 38 десятичных цифр.
| CHAR
CHARACTER
| 32767 байт
| Строка фиксированной длины.
| LONG
| 32760 байт
| LONG может хранить текст, массивы символов или небольшие по объему документы. Поля с типом LONG могут участвовать в операциях UPDATE, INSERT и в большинстве SELECT, кроме выражений, вызываемых параметров функций SQL, а также в таких конструктах SQL, как WHERE, GROUP BY,
и CONNECT BY.
| LONG RAW
|
| В современных приложениях используйте CLOB или NCLOB вместо LONG, а также BLOB или BFILE вместо LONG RAW.
| NCHAR
| 32767 байта
| Статичная символьная строка в формате Unicode, максимальная длина которой будет равна 32767/2 в кодировке AL16UTF16 или 32767/3 в кодировке UTF8.
| NVARCHAR2
| 32767 байта
| Тип NVARCHAR2 может быть использован для хранения символьных строк переменной длины в формате Unicode. Максимальные размеры строки данного типа определяются как и у NCHAR.
| BFILE
BLOB
CLOB
NCLOB
| до 4ГБ - 1 байт
от 8 до 128 терабайт
| LOB (большой объект) с типами BFILE, BLOB, CLOB, and NCLOB позволяет хранить блоки неструктурированных данных таких, как текст, изображения, видео клипы и звуки.
Размер типа BFILE зависит от системы, но не может превышать 4ГБ - 1 байт.
| Date
| от 01.01.4712 до н.э.
до 01.01.4712 н.э.
| Дата и время. Для присвоения даты используется функция TO_DATE(‘символьная дата’, ‘формат даты’)
| Пример использования подтипов длинного целого:
SET SERVEROUTPUT ON
declare
i NATURAL; q NATURALN: =9; w POSITIVE: =2;
e POSITIVEN: =8; r SIGNTYPE: =0;
begin
i: =1;
DBMS_OUTPUT.PUT_LINE('i='||i||', q=' || q || ', w=' || w || ', e=' || e || ', r=' || r);
end;
Пример присвоения значений переменной с типом NUMBER:
DECLARE
n NUMBER;
BEGIN
n: = -9.999999E-130; -- правильно
n: = 9.999E125; -- правильно
-- n: = 10.0E125; -- неправильно, превышение разрядной сетки
END;
Таблица 4.3
|