Oracle Типы данных PL/SQL: логическое значение, число, дата [Пример]
⚡ Умное резюме
Типы данных PL/SQL определяют, как Oracle Они хранят, обрабатывают и ограничивают каждое значение в блоке. Они группируются в семейства символьных, числовых, логических, датовых и больших объектов (LOB), каждое со своим собственным форматом хранения, ограничениями по размеру и правилами присваивания.

Что такое типы данных в PL/SQL?
Типы данных В PL/SQL определяется, как данные будут храниться, обрабатываться и использоваться. Oracle в процессе хранения и обработки. Типы данных связаны с конкретным форматом хранения и ограничениями диапазона. OracleКаждому значению или константе присваивается тип данных.
Основное различие между PL/SQL и SQL Разница в типах данных заключается в том, что типы данных SQL ограничены столбцами таблиц, в то время как типы данных PL/SQL используются в других областях. PL/SQL-блоки. Подробнее об этом позже в уроке.
Ниже представлена схема различных Oracle Типы данных PL/SQL:

Тип данных PL/SQL CHARACTER
Этот тип данных хранит буквенно-цифровые символы в строковом формате. При присваивании значений типа CHARACTER их всегда следует заключать в одинарные кавычки.
Этот символьный тип данных дополнительно классифицируется следующим образом:
- Тип данных CHAR (фиксированный размер строки)
- Тип данных VARCHAR2 (размер строки переменной)
- тип данных VARCHAR
- NCHAR (собственный фиксированный размер строки)
- NVARCHAR2 (собственный размер строки переменной)
- ДОЛГОЕ и ДЛИННОЕ СЫРОЕ
| Тип данных | Описание | Синтаксис |
|---|---|---|
| CHAR | Этот тип данных хранит строковое значение, и размер строки фиксируется в момент объявления. переменная.
|
grade CHAR; manager CHAR (10):= 'guru99'; Объяснение синтаксиса:
|
| ВАРЧАР2 | Этот тип данных хранит строку, но её длина не фиксирована.
|
manager VARCHAR2(10) := 'guru99'; Объяснение синтаксиса:
|
| ВАРЧАР | Это синоним типа данных VARCHAR2.
|
manager VARCHAR(10) := 'guru99'; Объяснение синтаксиса:
|
| НЧАР | Этот тип данных аналогичен типу CHAR, но используется национальная кодировка символов.
|
native NCHAR(10);
Объяснение синтаксиса:
|
| НВАРЧАР2 | Этот тип данных аналогичен VARCHAR2, но используется национальная кодировка символов.
|
Native_var NVARCHAR2(10):= 'guru99'; Объяснение синтаксиса:
|
| ДОЛГОЕ и ДЛИННОЕ СЫРОЕ | Этот тип данных предназначен для хранения больших объемов текста или необработанных данных, максимальный размер которых не превышает 2 ГБ.
|
Large_text LONG; Large_raw LONG RAW; Объяснение синтаксиса:
Примечание: Использование типа данных LONG не рекомендуется. OracleВместо этого следует отдавать предпочтение типу данных LOB. |
Тип данных PL/SQL NUMBER
Этот тип данных хранит числа с фиксированной или плавающей запятой с точностью до 38 знаков после запятой. Он используется для работы с полями, содержащими только числовые данные. Переменную можно объявить как с указанием точности и количества десятичных знаков, так и без них. При присваивании значения не обязательно заключать в кавычки.
A NUMBER(8,2); B NUMBER(8); C NUMBER;
Объяснение синтаксиса:
- Первое объявление определяет переменную 'A' числового типа данных с точностью до 8 знаков после запятой и двумя десятичными знаками.
- Во втором случае объявляется тип данных 'B' (число) с общей точностью 8 и без десятичных знаков.
- Третий тип данных является наиболее общим и обозначает числовой тип данных «C» без ограничений по точности или количеству десятичных знаков. Он может содержать до 38 цифр.
Логический тип данных PL/SQL
Этот тип данных хранит логические значения. Oracle Логический тип данных обозначает либо TRUE, либо FALSE и используется в основном в условных операторах. При присваивании значений их не обязательно заключать в кавычки.
Var1 BOOLEAN;
Объяснение синтаксиса:
- Переменная 'Var1' объявлена как переменная логического типа (BOOLEAN). В зависимости от заданного условия, результат будет либо true, либо false.
Тип данных PL/SQL DATE
Этот тип данных хранит значения в формате даты: дата, месяц и год. Если переменная определена с типом данных DATE, она может содержать информацию о времени; по умолчанию время устанавливается на 12:00:00, если не указано иное. При присваивании значения необходимо заключать в кавычки.
Стандарт Oracle Формат времени для ввода и вывода — 'DD-MON-YY', который задается параметром NLS_PARAMETERS (NLS_DATE_FORMAT) на уровне сессии.
newyear DATE:= '01-JAN-2015'; current_date DATE:= SYSDATE;
Объяснение синтаксиса:
- Переменная 'newyear' объявлена как тип данных DATE и ей присвоено значение 1 января 2015 года.
- Второе объявление указывает на тип данных DATE для переменной 'current_date' и присваивает ей текущую системную дату.
- Обе переменные содержат информацию о времени.
Тип данных LOB PL/SQL
Этот тип данных в основном используется для хранения и обработки больших блоков неструктурированных данных, таких как изображения и мультимедийные файлы. Oracle Предпочтение отдается типу данных LOB, а не LONG, поскольку он более гибкий. Основные преимущества LOB перед LONG:
- В таблице может быть только один столбец типа LONG, тогда как количество столбцов типа LOB не ограничено.
- Инструменты интерфейса данных принимают LOB-объекты во время репликации, но не принимают столбцы типа LONG, которые необходимо реплицировать вручную.
- В столбце LONG хранится до 2 ГБ данных, тогда как в LOB-объекте — до 128 ТБ.
- Oracle Тип данных LOB постоянно совершенствуется с каждым релизом, в то время как тип LONG практически не меняется.
Поэтому всегда лучше использовать тип данных LOB вместо LONG. Различные типы данных LOB, перечисленные ниже, могут хранить до 128 терабайт данных:
- Большой двоичный объект
- КЛОБ и НКЛОБ
- БФАЙЛ
| Тип данных | Описание | Синтаксис |
|---|---|---|
| Большой двоичный объект | Этот тип данных хранит данные LOB в двоичном формате файла, максимальный размер которого составляет 128 ТБ. Он не хранит данные на основе кодировки символов, поэтому может хранить неструктурированные данные, такие как мультимедийные объекты и изображения. |
Binary_data BLOB;
Объяснение синтаксиса:
|
| КЛОБ и НКЛОБ | CLOB хранит данные LOB в кодировке символов, тогда как NCLOB хранит данные в собственной кодировке символов. Поскольку они используют хранение данных на основе кодировки символов, они не могут хранить такие данные, как мультимедиа или изображения. Максимальный размер составляет 128 ТБ. |
Charac_data CLOB;
Объяснение синтаксиса:
|
| БФАЙЛ |
|
