Функції перетворення значень
• Перетворення в символьний рядок - TO_CHAR TO_CHAR (<значимий вираз>[,<символьний формат>]) • < значимий вираз > - числове значення або значення типу дата/час; • для числових значень < символьний формат> повинен мати синтаксис [S]9[9][,9[9]], де S - подання знака числа (при відсутності передбачається без відображення знаку), 9 - подання цифр-знаків числового значення (для кожного знакомісця). Символьний формат визначає вид відображення чисел. За замовчуванням для числових значень використовується формат '999999.99'; • для значень типу дата/час < символьний формат> має вигляд (тобто вид відображення значень дати й часу): - у частині дати 'DD-Mon-YY 'DD-Mon-YYYY 'MM/DD/YY' 'MM/DD/YYYY1 'DD.MM.YY 'DD.MM.YYYY'
- у частині часу 'НН24' HН24.MM' 'HH24:MM:SS' 'HH24:MM:SS.FF ще: НН24 - годинники в діапазоні від 0 до 24 MM - хвилини SS - секунди FF - тики (соті частки секунди) При виводу часу як роздільник за замовчуванням використовується двокрапка (:), але при бажанні можна використовувати будь-який інший символ. Значення, що повертається – символьний вираз <значимого виразу> відповідно до заданого <символьним форматом> перетворення. • Перетворення із символьного значення в числове — TO_NUMBER TO_NUMBER (<значимий символьний вираз >) При цьому <значимий символьний вираз> повинний задавати символьне значення числового типу. • Перетворення символьного рядка в дату — TO_DATE TО DATE (<значимий символьний вираз >[,<символьний формат>]) • <значимий символьний вираз> повинен задавати символьне значення типу дата/час; • <символьний формат> повинен описувати подання значення типу дата/час в < значимому символьному виразі>. Припустимі формати (у тому числі й формат за замовчуванням) наведені вище.
Значення, що повертається - < значимий символьний вираз> у внутрішнім поданні. Тип значення, що повертається - DATE. Над значеннями типу DATE дозволені наступні операції: • бінарна операція додавання; • бінарна операція віднімання. У бінарних операціях один з операндів повинен мати значення окремого елемента дати: тільки рік, або тільки місяць, або тільки день. Наприклад:. • при додаванні до дати '22.05.2008' п'яти років вийде дата'22.05.2013'; • при додаванні до цієї ж дати дев'яти місяців вийде дата '22.02.2009'; • при додаванні 10 днів одержимо '01.06.2008'. При додаванні двох повних дат, наприклад, '22.05.2008' і '01.12.2009', результат непередбачений. Приклад 2. Виконати з апит: SELECT SURNAME, NAME, BIRTHDAY, TO_CHAR (ВIRTHDAY, 'DD-MМ-YYYY'), TO_CHAR (BIRTHDAY, 'DD.MM.YY') FROM STUDENT;
Результат виконання запиту має вигляд:
Функція CAST є засобом явного перетворення даних з одного типу в іншій. Синтаксис цієї команди має вигляд: CAST <значимий вираз> AS <тип даних>; • <значимий вираз> повинен мати числовий або символьний тип мови SQL (можливо, із вказівкою довжини, точності й масштабу) або бути NULL-значенням; • будь-яке числовий вираз може бути явно перетворений в будь-який інший числовий тип; • символьний вираз може бути перетворений в будь-який числовий тип. При цьому в результаті символьного виразу відтинаються початкові й кінцеві пробіли, а інші символи перетворюються в числове значення за правилами мови SQL;
• якщо явно задана довжина символьного типу недостатня й перетворене значення не розміщається в ньому, то результативне значення обмежується праворуч; • можливо явне перетворення символьного типу в символьний з іншою довжиною. Якщо довжина результату більше довжини аргументу, то значення доповнюється пробілами; якщо менше, то обмежується; • NULL-значення перетворюються в NULL-значення відповідного типу; • числовий вираз може бути перетворений в символьний тип.
Приклад 4. Використання функціїCAST:
SELECT CAST STUDENT_ІD AS CHAR (10) FROM STUDENT;
Завдання для самостійної роботи 1. Складіть запит до таблиці STUDENT таким чином, щоб вихідна таблиця містила один стовпець, що містить послідовність розділених символом «;» (крапка з комою) значень всіх стовпців цієї таблиці, і при цьому текстові значення повинні відображатися прописними символами (верхній регістр), тобто бути представленими в наступному виді: 10;КОВАЛІВ;БОРИС;0;БЕРДЯНСЬК;8/12/1986;10. 3. Складіть запит для таблиці STUDENT таким чином, щоб вихідна таблиця містила всього один стовпець у наступному виді: Б. КОВАЛІВ; місце проживання - БЕРДЯНСЬК; народився-8.12.86. 4. Складіть запит для таблиці STUDENT таким чином, щоб вихідна таблиця містила всього один стовпець у наступному виді: б. ковалів; місце проживання - бердянськ; народився:8-дек-1986. 5. Складіть запит для таблиці STUDENT таким чином, щоб вихідна таблиця містила всього один стовпець у наступному виді: Борис Ковалів народився в 1986 році. 6. Вивести прізвища, імена студентів і величину одержуваних ними стипендій, при цьому значення стипендій повинні бути збільшені в 100 разів. 7. Те ж, що й у завданні 4, але тільки для студентів 1, 2 і 4-го курсів і таким чином, щоб прізвища й імена були виведені прописними буквами (верхній регістр). 7. Складіть запит для таблиці UNIVERSITY таким чином, щоб вихідна таблиця містила всього один стовпець у наступному виді: Код-10; ВДУ - м.ВІННИЦЯ: Рейтинг=296. 8. Те ж, що й у завданні 7, але значення рейтингу потрібно округлити до першого знака (наприклад, значення 382 округляється до 400).
3.5. Лабораторна робота №5
Читайте также: Алгоритм перетворення Воспользуйтесь поиском по сайту: ![]() ©2015 - 2025 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|