Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
SQL-1-ukr.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
100.35 Кб
Скачать

2.7. Користувацькі типи даних

Користувацькі типи даних (User Defined Types, UDT) визначаються користувачем за своїм розсудом для якихось своїх цілей. Дана можливість вперше з'явилася в SQL: 1999. Одне з найважливіших напрямків застосування полягає в усуненні деяких невідповідностей між основними типами даних SQL і типами даних в базовій мові, на якому пишуться програми. До створення своїх типів даних зазвичай вдаються програмісти, а не рядові користувачі баз даних, навіть володіють мовою SQL.

3. Невизначені значення

Якщо в клітинку (поле) таблиці ви вводите якісь значення (літери, цифри, пробіли або ще що-небудь), то ці дані набувають так звані певні значення. З визначеними значеннями, що належать тому чи іншому типу, можна виконувати якісь операції. Однак ви можете створити запис (рядок) таблиці, нічого не вводячи в її поля (стовпці). Такий запис нічого не містить. Запис у таблиці, яка створена, але в яку не введені конкретні значення, називається порожньою. У кожній комірці порожнього запису міститься так зване невизначене значення, що позначається через NULL.

Отже, кожен раз, коли ви додаєте в таблицю новий запис, не вводячи в неї яких-небудь конкретних значень, СУБД встановлює у її полях значення NULL.

Значення NULL ви можете інтерпретувати так, як вам хочеться, наприклад, "ще не введено", "поки не відомо". Важливо розуміти, що число 0 або порожній рядок є цілком визначеними значеннями і відрізняються від NULL, хоча візуально порожній рядок і невизначене значення можуть відображатися однаково – у вигляді порожньої комірки таблиці. Багато функцій SQL повертають в залежності від обставин якесь певне значення або NULL. Це необхідно враховувати при складанні SQL-виразів, оскільки комбінація NULL і інших конкретних значень може дати той чи інший результат в залежності від конкретної операції.

При порівнянні будь-якого певного значення з NULL результат дорівнює false. Tе ж саме відбувається при порівнянні двох величин, значеннями яких є NULL, тобто порівняння двох невизначених величин дає в результаті false.

У багатьох випадках значення NULL є дуже корисними. Так, наприклад, ви можете створити таблицю і ввести в неї відомості, якими ви маєте в своєму розпорядженні в даний момент, залишивши інші значення поки невизначеними. Потім, по мірі надходження нової інформації, ви можете змінити значення NULL на ті, які стали відомі.

4. Перетворення типів

Щоб виконати якусь операцію над даними різних типів, необхідно зробити перетворення типів. Точніше, необхідно виконати приведення даних одного типу до другого типу, щоб беруть участь в операції дані були або однотипними, або їх типи були відповідними.

Відповідними типами є:

□ рядкові CHARACTER І CHARACTER VARYING;

□ усі числові типи;

□ дата, час, дата-час і відповідні інтервали. Відповідні типи не обов'язково приводити один до одного.

Приведення значення одного типу до іншого здійснюється за допомогою функції CAST ():

CAST (вираз AS тип);

Наприклад: CAST (4234.521 AS NUMERIC (9,2));

CAST ('2005-10-03 'AS DATE);

CAST (CURRENT_TIMESTAMP (2) AS CHAR (20));

SELECT 'Ціна:' | | CAST (Ціна AS CHAR (5)) FROM Продажі;

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]