Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Типи даних мови SQL
Найбільш часто використовуються такі типи даних: символьні, числові, тип DATE, виконавчі і великі об'єкти. представлені типами CHAR (довжина), VARCHAR2 (довжина) і LONG. Тип даних CHAR являє собою символьні рядки фіксованої довжини. Мінімальна довжина дорівнює 1, максимальна – 2000 байт. Якщо значення, що поміщається в стовпець даного типу, перевищує зазначений розмір, то виводиться повідомлення про помилку; якщо довжина розміщується значення менше зазначеної довжини, то значення доповнюється пробілами праворуч. Тип даних VARCHAR2 являє собою символьні рядки змінної довжини. Максимальний розмір рядка 4000 байт, мінімальний – 1 байт. При розміщенні тексту в стовпець більшого розміру додаток пробілами не проводиться. Рядки цих двох типів порівнюються по-різному. Рядки типу CHAR – посимвольно з доповненням пробілами рядки з меншою довжиною до розміру рядка з більшою довжиною. Рядки VARCHAR2 – без доповнення пробілами до більшої довжини. Тому для двох в принципі однакових рядків можуть бути отримані різні результати при їх порівнянні. П р і м е р Для двох рядків 'AB' і 'AB' (другий рядок містить пробіл, а перша немає) типу CHAR отримаємо, що 'AB' = 'AB '. Для цих же рядків типу VARCHAR2 результатом порівняння буде 'AB' < 'AB '. Тип даних LONG являє собою символьні дані змінної довжини, величина якої може досягати 2 Гб. Використання змінних цього типу накладається ряд обмежень: стовпець такого типу повинен бути єдиним в таблиці, його не можна індексувати, використовувати в якості ключа упорядкування та групування, а також для побудови умов. Числові типи даних представлені типом NUMBER, який дозволяє визначити три різних типи даних: NUMBER, NUMBER(p), NUMBER(p, s). У першому випадку визначаються дійсні числа, діапазон яких від 1.0*10-130 до 1.0*10126-1, мантиса містить 38 знаків. У другому випадку вважається, що визначається діапазон цілих чисел, де p – кількість цифр в числі (від 1 до 38). У третьому випадку описуються числа з фіксованою крапкою; p – загальна кількість цифр (від 1 до 38), s – масштаб (від -84 до 127) – визначає кількість цифр після коми. Якщо s > 0, то число округляється до зазначеної кількості знаків праворуч від десяткової крапки, якщо s < 0, то число округляється до зазначеної кількості знаків ліворуч від десяткової точки. ПРИКЛАД. Значення 123.89, поміщене в змінну з типом NUMBER(5, 1) буде округлене до значення 123.9, а при приміщенні в змінну з типом NUMBER(5, -1) буде округлене до 120. Слід зазначити, що мова SQL підтримує типи даних стандарту ANSI SQL. Якщо такий тип даних INTEGER, SMALLINT, DECIMAL, FLOAT і REAL і ін) зустрічається при визначенні типу стовпця таблиці, то ім'я типу зберігається, але самі дані зберігаються у формі, що визначається одним з типів БД Oracle. Тип даних DATE являє собою спеціальним чином організований тип. Він зберігає століття, рік, місяць, день, години, хвилини, секунди. Для вибірки поточного дня і часу в стандартному форматі використовується функція SYSDATE. Стандартний формат дати, автоматично який перетворюється у внутрішнє подання, записується символьним рядком такого виду: 'DD–MM–YY', де DD – день місяця, ММ – значення місяця, а YY – значення року. Приклад.Рядок символів '11-01-04' буде представляти дату 11 січня 2004 р. Над змінними типу DATE можна виконати арифметична дія – віднімання. Результат операції визначає кількість днів між цими двома датами. До дати можна додати або відняти числову константу, що розглядається як кількість днів або частину дня. Приклад. Для додавання місяці до поточної дати необхідно записати SYSDATE+30, а для додавання години – SYSDATE+1/24. Двійкові типи даних використовуються для зберігання двійкових неструктурованих даних (звукові файли, файли зображень і ін), обробка яких не підтримується мовою. До них відносяться типи RAW(довжина) і LONGRAW. Максимальний розмір рядка типу RAW 2000 байт, мінімальний – 1 байт. Довжина змінних типу LONGRAW може досягати 2 Гб. Великі об'єкти (LOB-об'єкти) представлені типами CLOB, BLOB і BFILE і призначені для зберігання неструктурованих даних великого обсягу – до 4 Гб. Тип даних CLOB зберігає дані символьного типу, типи даних BLOB і BFILE використовують для зберігання двійкових даних. Стовпці типу LOB містять не самі дані, а покажчики їх розташування. При цьому типи CLOB і BLOB зберігаються в спеціальних сегментах БД, а тип BFILE, який є зовнішнім двійковим файлом, що зберігається як звичайний файл. На їх використання накладено ряд обмежень.
|