Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Мет вказівки до лаб з SQL.doc
Скачиваний:
7
Добавлен:
07.05.2019
Размер:
811.01 Кб
Скачать

2.5.2. Числові типи даних

Стандартними числовими типами даних SQL є:

  • INTEGER – використовується для подання цілих чисел у діапазоні від — -231 до +231.

  • SMOLLINT - використовується для подання цілих чисел у меншому, чим для INTEGER, діапазоні, а саме - від -215 до +215 .

  • DECIMAL (точність[,масштаб]) - десяткове число з фіксованою комою, точність визначає кількість значущих цифр у числі. Масштаб вказує максимальне число цифр праворуч від коми.

  • NUМЕRIC (точність[,масштаб]) - десяткове число з фіксованою комою, таке ж, як і DECIMAL.

  • FLOAT [(точність)] - число із плаваючою комою й зазначеною мінімальною точністю.

  • REAL - число таке ж, як при типі FLOAT, за винятком визначення точності за замовчуванням (залежно від конкретної реалізації SQL).

  • DOUBLE PRECISION - число аналогічно REAL, але точність у два рази вище точності REAL.

СУБД ACCESS використовує додатково тип даних NUMBER для подання всіх числових даних, цілих, з фіксованою або плаваючою крапкою. Його синтаксис:

NUMBER [(точність[,масштаб])].

Якщо значення параметра «точність» не визначено явно, воно покладається рівним 38. Значення параметра «масштаб» за замовчуванням передбачається рівним 0. Значення параметра «точність» може змінюватися від 1 до 38; значення параметра «масштаб» може змінюватися від —84 до 128. Використання від’ємних значень масштабу означає зрушення десяткової коми убік старших розрядів. Наприклад, визначення NUMBER (7,-3) означає округлення до тисяч.

Типи DECIMAL (іноді позначений DEC) і NUMERIC повністю еквівалентні типу NUMBER.

Синтаксис:

DECIMAL [(точність[,масштаб])],

DEC [(точність[,масштаб])],

NUMERIC [(точність[,масштаб])],

2.5.3. Дата й час

Тип даних, призначений для подання дати й часу, також є нестандартним, хоча й надзвичайно корисним. Для точного визначення типів даних, підтримуваних конкретною СУБД, варто звертатися до її документації.

У СУБД ACCESS є тип DATE, використовуваний для зберігання дати й часу. Підтримуються дати, починаючи від 1 січня 4712 року до н.е. і до 31 грудня 4712 року. За замовчуванням при визначенні дати без уточнення часу приймається час опівночі.

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

Константи типу DATE записуються залежно від формату, прийнятого в операційній системі. Наприклад, '03.05.1999', або '12/06/1989', або '03-nov-1999', або '03-арг-99'.

2.5.4. Невизначені або пропущені дані (null)

Для позначення відсутніх, пропущених або невідомих значень атрибута в SQL використовується ключове слово NULL. Досить часто можна зустріти словосполучення «атрибут має значення NULL». Строго говорячи, NULL не є значенням у звичайному розумінні, а використовується саме для позначення того факту, що дійсне значення атрибута насправді пропущене або невідомо. Це приводить до ряду особливостей, що варто враховувати при використанні значень атрибутів, які можуть перебувати в стані NULL.

• В агрегуючих функціях, що дозволяють одержувати зведену інформацію з безлічі значень атрибута, наприклад сумарне або середнє значення, для забезпечення точності й однаковості тлумачення результатів відсутні або NULL-значення атрибутів ігноруються.

• Умовні оператори від булевої двозначної логіки TRUE/FALSE розширюються до тризначної логіки TRUE/FALSE/UNKNOWN.

  • Всі оператори, за винятком оператора конкатенації рядків «||», повертають порожнє значення (NULL), якщо значення кожного з операндів відсутнє (має «значення NULL»).

  • Для перевірки на порожнє значення варто використати оператори is NULL і is NOT NULL (використання із цією метою оператора порівняння «=» є помилкою).

  • Функції перетворення типів, що мають NULL як аргумент, повертають порожнє значення (NULL).