4.5.1 Типи даних Oracle
Oracle підтримує всі типи даних стандарту ANSI SQL92, та
свої, додаткові. Розглянемо найбільш поширені з них.
CHARACTER(довжина) або CHAR(довжина) або CHAR – літерні дані
довжиною до 255 символів. Якщо довжина менша, то речення
доповнюється пробілами до 255. Якщо довжина не вказана, то за
замовчуванням вона дорівнює 1. Приклад: Slovo CHAR(12).
VARCHAR(довжина) – літерні дані довжиною до 4000 символів.
Якщо довжина менша, то речення займає реально потрібну кількість
пам’яті. За замовчуванням довжина = 1. Приклад оголошення: Slovo
VARCHAR(12).
VARCHAR2(довжина) – те ж, що VARCHAR, лише для Oracle,
незалежно від можливих майбутніх змін у стандарті SQL.
INTEGER або INT – ціле число від -2
31
до 2
31
. Приклад: Cile INT.
NUMBER(мантиса, порядок) – число в формі з фіксованою
крапкою. мантиса може складати від 1 до 38 знаків (за
замовчуванням 38), порядок – до 127 (за замовчуванням 0).
Приклад: Kilk NUMBER(6).
RAW(довжина) – двійкові рядки змінної довжини до 2000 байт.
Від CHAR i VARCHAR відрізняються тим, що при передачі між
клієнтом і сервером не відбувається автоматичного перетворення
даних. Приклад: Tekct RAW.
DATE – дата (час), може приймати значення від 01.01.4712 року
до н.е. до 31.12.4712 року. Враховуючи наявність різних форматів
дати, для її формування можна використати функцію перетворення
рядка в дату TO_DATE(рядок, формат). Приклад: Data DATE;
Data=TO_DATE(’12.06.2009’, ’DD.MM.YYYY’);
ROWID – спеціальний тип даних, номер запису таблиці. Нижче
поданий приклад його застосування для знищення тих записів
таблиці Tab, де повторюються значення полів.
SQL> CREATE TABLE Tab(a NUMBER, b NUMBER);
Table created
SQL> INSERT INTO Tab VALUES(1,2);
1 row created
SQL> INSERT INTO Tab VALUES(1,2);
1 row created
SQL> DELETE FROM Tab
2 WHERE ROWID NOT IN (SELECT MIN(ROWID)