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

Завдання для самостійної роботи

1. Складіть запит до таблиці STUDENT таким чином, щоб вихідна таблиця містила один стовпець, що містить послідовність розділених символом «;» (крапка з комою) значень всіх стовпців цієї таблиці, тобто бути представленими в наступному вигляді: 10;Ковалів;Борис;0;Бердянськ;2;8/12/1986;17.

  1. Складіть запит для таблиці STUDENT таким чином, щоб вихідна таблиця містила всього один стовпець у наступному виді: Б. КОВАЛІВ; місце проживання - БЕРДЯНСЬК; народився-8.12.86.

3.4. Лабораторна робота №4

Тема: Функції роботи із числами

Мета роботи: набути практичні навички використання функцій роботи з числами в середовищі реляційної бази даних.

Порядок виконання роботи

1. Ознайомитися з теоретичними положеннями до лабораторної роботи.

2.Виконати всі наведені приклади в середовище СУБД ACCESS.Для цього необхідно:

  • завантажити СУБД ACCESS;

  • виконати режим відкриття бази даних «ВНЗ SQL»;

  • у вікні БД «ВНЗ SQL» вибрати вкладку «Запити»;

  • в діалоговому вікні вказати режим «Додати таблицю» і вибрати необхідні дані;

  • на панелі інструментів вибрати пункт меню «Вид» і вказати режим роботи SQL;

  • в поточному діалоговому вікні ввести текст запиту в форматі SQL;

  • виконати введений запит, для чого натиснути кнопку «Запуск» (!) на панелі інструментів;

  • отриманий результат виконання запиту занести в звіт та перевірити на відповідність умовам прикладу;

  • зберегти створений запит, надавши йому власне ім’я.

3. Виконати індивідуальне завдання (дивись завдання для самостійної роботи). Номери індивідуальних завдань видаються викладачем.

4. Результати виконання індивідуальних завдань занести у звіт.

5.Захистити звіт.

Теоретичні відомості

Функції роботи із числами

• ABS — абсолютне значення

ABS (<значимий числовий вираз>)

• FLOOR — обмежує значення числа із плаваючою крапкою до найбільшого цілого, що не перевищує задане число

FLOOR (<значимий числовий вираз>)

• CEIL — найменше ціле, рівне або більше заданого числа

CEIL (<значимий числовий вираз>)

• Функція округлення - ROUND

ROUND (<значимий числовий вираз >,<точність>)

аргумент <точність> задає точність округлення (див. приклад нижче)

• Функція обмеження — TRUNC

TRUNC (значимий числовий вираз >,<точність>)

• Тригонометричні функції — СОS, SIN, TAN

COS (<значимий числовий вираз >)

SIN (<значимий числовий вираз >)

TAN (<значимий числовий вираз >)

  • Гіперболічні функції — COSH, SINH, TANH

COSH (<значимий числовий вираз >)

SINH (<значимий числовий вираз >)

TANH (<значимий числовий вираз >)

  • Експоненціальна функція - ЕХР

  • ЕХР (<значимий числовий вираз >)

  • Логарифмічні функції - LN, LOG

  • LN (<значимий числовий вираз >)

  • LOG (<значимий числовий вираз >)

•Функція піднесення до степені — POWER

POWER (<значимий числовий вираз >,<експонента>)

  • Визначення знака числа - SIGN

  • SIGN (<значимий числовий вираз >)

  • Обчислення квадратного кореня - SQRT

  • SQRT (<значимий числовий вираз >)

Приклад 1. Виконати запит:

SELECT UNIV_NAME, RATING, ROUND (RATING, -1), TRUNC (RATING, 1)

FROM UNIVERSITY;

Результат запиту будуть видані у вигляді:

UNIV_NAME

RATING

МДУ

606

610

600

ВДУ

296

300

290

НДК

345

350

340

РДУ

416

420

410

БДУ

326

330

320

ТДК

368

370

360

ВДМА

327

330

320

Функції перетворення значень

• Перетворення в символьний рядок - 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;

Результат виконання запиту має вигляд:

SURNAME

NAME

BIRTHDAY

Іваненко

Іван

3/12/1987

З-дек-1987

3.12.87

Петренко

Петро

1/12/1985

1-дек-1985

1.12.85

Сидоренко

Вадим

7/06/1984

7-июн-1984

7.06.84

Ковалів

Борис

8/12/1986

8-дек-1986

8.12.86

Зайцева

Ольга

1/05/1986

1-МАЙ-1986

1.05.86

Павлов

Андрій

5/11/1984

5-ноя-1984

5.11.84

Котів

Павло

NULL

NULL

NULL

Лукін

Артем

1/12/1986

1-дек-1986

1.12.86

Петренко

Антон

5/08/1986

5-авг-1986

5.08.86

Буйнов

Вадим

7/01/1985

7-янв-1985

7.01.85

Функція CAST є засобом явного перетворення даних з одного типу в іншій. Синтаксис цієї команди має вигляд:

CAST <значимий вираз> AS <тип даних>;

• <значимий вираз> повинен мати числовий або символьний тип мови SQL (можливо, із вказівкою довжини, точності й масштабу) або бути NULL-значенням;

• будь-яке числовий вираз може бути явно перетворений в будь-який інший числовий тип;

  • символьний вираз може бути перетворений в будь-який числовий тип. При цьому в результаті символьного виразу відтинаються початкові й кінцеві пробіли, а інші символи перетворюються в числове значення за правилами мови SQL;

  • якщо явно задана довжина символьного типу недостатня й перетворене значення не розміщається в ньому, то результативне значення обмежується праворуч;

  • можливо явне перетворення символьного типу в символьний з іншою довжиною. Якщо довжина результату більше довжини аргументу, то значення доповнюється пробілами; якщо менше, то обмежується;

• NULL-значення перетворюються в NULL-значення відповідного типу;

• числовий вираз може бути перетворений в символьний тип.

Приклад 4. Використання функції CAST:

SELECT CAST STUDENT_ІD AS CHAR (10)

FROM STUDENT;