округлення ROUND (чісло_1, чісло_2). Округлює перший переданий параметр до кількості розрядів, переданого в другому параметрі. Якщо другий параметр не вказаний, то він приймається рівним 0, тобто округлення проводиться до цілого значення. Приклади:
SELECT ROUND (101.34) FROM DUAL поверне значення 101,
SELECT ROUND (100. 1268,2) FROM DUAL поверне значення 100.13
SELECT ROUND (1234000.3254, - 2) FROM DUAL поверне значення 1234000,
SELECT ROUND (- 100.122, 2) FROM DUAL поверне значення - 100.12.
2.2 Функція Trunc
Функція усічення значення TRUNC (чісло_1, чісло_2). Повертає усеченное значення першого параметра до кількості десяткових розрядів, зазначеного в другому параметрі. Приклади:
SELECT TRUNC (150.58) FROM DUAL поверне значення 150;
SELECT TRUNC (235.4587, 2) FROM DUAL поверне значення 235.45;
SELECT TRUNC (101.23, - 1) FROM DUAL поверне значення 100;
.3 Функція Mod
Функція MOD (чісло_1, чісло_2) повертає залишок від ділення першого параметра на другий. Приклад:
SELECT MOD (5, 3) FROM DUAL поверне значення 2.
Примітка. Якщо другий параметр дорівнює 0, то функція повертає перший параметр.
3 . Робота з датами
У Oracle SQL є єдиний тип даних DATE, що зберігає для кожної величини, представленої в цьому типі, значення року, місяця, дня, годин, хвилин і секунд. Дата і час також можуть зберігатися у форматах CHAR і NUMBER, що допускають перетворення до типу DATE за допомогою функції TO_DATE.
Константи дати/часу і формат представлення дати
Зовнішнє уявлення дати і часу - символьна константа, перетворення якої у внутрішнє представлення визначається форматом, заданим в NLS_DATE_FORMAT.
Специфікатори NLS (National Language Support - підтримка національних мов) дозволяють користувачеві працювати в середовищі з локалізованими середовищами оточення. Вони визначають багато значення за замовчуванням. Від специфікаторів NLS, що визначають угоди на середу оточення, залежать приймаються за замовчуванням аргументи ряду функцій Oracle SQL, у тому числі - функцій TO_CHAR, TO_DATE, TO_NUMBER.
3.1 Функція SYSDATE ()
Для визначення поточної дати і часу застосовується функція SYSDATE. Область застосування даної функції набагато ширше, ніж може здатися на перший погляд. У першу чергу, це контроль за введенням даних в БД. У багатьох таблицях виділяється окремі поля для збереження дати останнього внесення змін. Також дуже зручно контролювати якісь вхідні параметри для звітів, особливо якщо вони не повинні бути більше ніж поточна дата. Крім дати дана функція повертає ще й час з точністю до секунд. Приклад:
SELECT SYSDATE FROM DUAL поверне дату 22.05.2010 14:51:20
Приклад (використання SYSDATE): Отримати сьогоднішню дату:
SELECT SYSDATE FROM dual; Результат: SYSDATE.
3.2 Арифметичні операції з датами
Дані типу DATE можуть бути операндами операцій збільшення, зменшення і віднімання.
В операціях збільшення та зменшення тип перший операнда - DATE, тип другий операнд - NUMBER. Тип результату - DATE.
У операції віднімання обидва операнди повинні мати тип DATE, результат має тип NUMBER.
Кількість типу NUMBER в арифметиці дати і часу інтерпретується як кількість днів. Дрібна частина числа - дробові частини дня, тобто, години, хвилини, секунди. Деякі функції Oracle забезпечують додаткову підтримку арифметики дати і часу.
3.3 Використання арифметичних операторів з датами
ADD_MONTHS (d, n) - повертає дату d плюс n місяців (n мо?? ет бути тільки цілим);
MONTHS_BETWEEN (d1, d2) - повертає, кількість місяців між датами d1 і d2 (можливо, з дробовою частиною);
LAST_DAY (d) - повертає дату останнього дня того місяця, до якого належить дата d;
NEXT_DAY (d, c) - повертає дату, відповідну наступного появи дня тижня, заданого текстовим значенням c, після дати d;
ROUND (d, fmt) - повертає дату, ок...