таблиці hr.employees у форматі, представленому на рис. 3.4-1:
Рис. 3.4-1
При цьому дані повинні бути відсортовані таким чином, щоб першими виводилися рядки для співробітників з найбільшою заробітною платою.
Примітка:
Деякі значення зарплати на рис. 3.4-1 були змінені, тому вони можуть не збігатися з вашими значеннями.
Рішення:
Код відповідного запиту може бути таким:
SELECT first_name AS «Ім'я», last_name As «Прізвище», TO_CHAR (SALARY, L999999999.99 ) As «Оклад» FROM hr.employees ORDER BY SALARY DESC.
4.8 Функції TO_NUMBER і TO_DATE
Функція перетворення рядка в дату TO_DATE (рядок, формат). Можливі значення форматів вже розглянуті вище, тому наведу кілька прикладів використання даної функції. Приклади:
SELECT TO_DATE («01.01.2010, DD.MM.YYYY) FROM DUAL поверне дату 01.01.2010;
SELECT TO_DATE («01.JAN.2010, DD.MON.YYYY) FROM DUAL поверне дату 01.01.2009 ;
SELECT TO_DATE («15-01-10, DD-MM-YY) FROM DUAL поверне дату 15.01.2010.
Функція перетворення рядка в числове значення TO_NUMBER (рядок, формат). Найпоширеніші значення форматів перераховані в таблиці, тому розглянемо застосування даної функції на прикладах. Приклади:
SELECT TO_NUMBER (100) FROM DUAL поверне число 100 SELECT TO_NUMBER (0010.01, «9999D99) FROM DUAL поверне число 10.01;
SELECT TO_NUMBER ( 500,000 raquo ;, 999G999 ) FROM DUAL поверне число 500000.
4.9 Елемент RR в форматі дати
Елемент формат дати і часу RR схожий на елемент форматі YY дати і часу, але це забезпечує додаткову гнучкість для зберігання значень дати і в інших століть. Елемент формату RR дати і часу дозволяє зберігати дати 20-го століття в 21-му столітті, вказавши тільки дві останні цифри року.
Якщо дві останні цифри поточного року є 00 до 49, то повертаний рік має ті ж перші дві цифри, як в поточному році.
Якщо дві останні цифри поточного року від 50 до 99, то перші 2 цифри повернутого року є 1 більше, ніж у перші 2 цифр поточного року.
Якщо дві останні цифри поточного року є 00 до 49, то перші 2 цифри повернутого року є 1 менше перших 2 цифр поточного року.
Якщо дві останні цифри поточного року від 50 до 99, то повертаний рік має ті ж перші дві цифри, як в поточному році.
4.10 Функція NVL
Функція NVL, як правило, застосовується найчастіше. Функція отримує два параметри: NVL (expr1, ехрг2). Якщо перший параметр expr1 НЕ дорівнює NULL, то функція повертає його значення. Якщо перший параметр NULL, то замість нього функція повертає значення другого параметра ехрг2.
Приклад: Виберіть NVL (supplier_city, н/а ') від постачальників:
У заяві SQL вище повернеться н/', якщо поле supplier_city міститься нульове значення. В іншому випадку він поверне значення supplier_city.
Інший приклад використання функції NVL в Oracle/PLSQL є:
виберіть supplier_id, NVL (supplier_desc, supplier_name) від постачальників.
Це SQL заяву буде повернути supplier_name поле, якщо supplier_desc міститься нульове значення. В іншому випадку він поверне supplier_desc .
Останній приклад: використовуючи функцію NVL в Oracle/PLSQL є: виберіть NVL (комісія, 0) від продажів;
Це SQL заяву повернула значення 0, якщо комісія поле міститься нульове значення. В іншому випадку, було б повернути комісії полі.
4.11 Перетворення NVL для різних типів даних
Для перетворення невизначеного значення у фактичне іспользуетс?? функція NVL: NVL ( вираз1, вираз 2 ), де:
вираження1 - Початкове або обчислене значення, яке може бути невизначеним.
вираженіе2 - Значення, яке підставляється замість невизначеного значення.
Примітка: Функцію NVL мо...