1 / 36

ОДНОСТРОЧНЫЕ ФУНКЦИИ

ОДНОСТРОЧНЫЕ ФУНКЦИИ. Функции используются для: Выполнения расчетов с данными. Изменения отдельных единиц данных. Управления выводом групп строк. Изменения формата выданных в столбцах. Преобразования типов данных в столбцах. Обзор функций в SQL. Однострочные Функция

bliss
Download Presentation

ОДНОСТРОЧНЫЕ ФУНКЦИИ

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ОДНОСТРОЧНЫЕФУНКЦИИ

  2. Функции используются для: • Выполнения расчетов с данными. • Изменения отдельных единиц данных. • Управления выводом групп строк. • Изменения формата выданных в столбцах. • Преобразования типов данных в столбцах Обзор функций в SQL

  3. Однострочные Функция - Символьные - Числовые - Функции даты Однострочная - Функции преобразования Многострочные - Групповые Многострочная Два типа функций в SQL

  4. Однострочные функции: Манипулируют элементами данных. Принимают аргументы и возвращают одно значение. Работают с каждой строкой, возвращаемой запросом. Возвращают один результат на строку. Изменяют тип данных. Могут быть вложенными. function_name (column|expression,[arg1,arg2,...]) Однострочные функции: синтаксис

  5. Символьные Числовые Функции работы с датой Функции преобразования Общие функции ТИПЫ ОДНОСТРОЧНЫХ ФУНКЦИИ

  6. Символьные функции LOWER UPPER INITCAP CONCAT SUBSTR LENGTH NVL Преобразование в нижний регистр Преобразование в верхний регистр Преобразование начальных букв в верхний регистр Конкатенация значений Возврат подстроки Возврат количества символов Преобразование неопределенного значения

  7. Преобразование регистра для строки символов • LOWER('SQL Course') sql course • UPPER('SQL Course') SQL COURSE • INITCAP('SQL Course') Sql Course Функции преобразованиярегистра

  8. Вывод имени и фамилии всех служащих с фамилией Patel. SQL> SELECT first_name, last_name 2> FROM s_emp 3> WHERE last_name = 'PATEL'; no rows selected SQL> SELECT first_name, last_name 2> FROM s emp 3> WHERE UPPER(last_name) = 'PATEL'; FIRST_NAME LAST_NAME Vikram Patel Radha Patel Пример

  9. Работа с символьными строками • CONCAT('Good', 'String') GoodString • SUBSTR('String',1,3) Str • LENGTH('String') 6 Символьные функции

  10. Символьные функции LPAD RPAD Возврат подстроки, дополненной заданными символами до необходимого размера слева или справа LPAD(‘строка', n [,‘символ‘]) SQL> SELECT LPAD('Page 1',15,'*.') LPAD_example 2 FROM DUAL; LPAD example --------------- *.*.*.*.*Page 1

  11. ROUND Округляет значение до заданной точности. • TRUNC Усекает значение до заданного количества десятичных знаков. • MOD Возвращает остаток от деления. Числовые функции

  12. ROUND (45.923,2) 45.92 ROUND (45.923,0) 46 ROUND (45.923,-1) 50 TRUNC (45.923,2) 45.92 TRUNC (45.923) 45 TRUNC (45.923,-1) 40 Функции ROUND TRUNC

  13. Вычисление остатка от деления одного значения на другое • MOD(1600,300) 100 ФункцияMOD

  14. Тип DATE • Oracle поддерживает оба типа и дата и время, хотя по-другому, чем в стандарте SQL2. Oracle использует один тип DATE, а не два - для даты и времени. Тип DATE хранится в специальном внутреннем формате, который включает не только месяц, день, и год, но также и час, минута, и секунда. • create table x(a int, b date);

  15. Формат по умолчанию "DD-MON-YY"

  16. Стандарт  ANSI '2008-11-11'

  17. Oracle хранит данные во внутреннем цифровом формате. - Век, год, месяц, число, часы, минуты, секунды • По умолчанию дата выдается в формате DD-MON-YY (число- месяц-год) • Функция SYSDATE возвращает дату и время • DUAL - это фиктивная таблица, используемая для просмотра SYSDATE. Пример: вывод текущей даты с помощью таблицы DUAL. SQL> SELECT SYSDATE 2> FROM DUAL; Формат даты Oracle

  18. Результатом прибавления числа к дате и вычитания числа из даты является дата. Результатом вычитания одной даты из другой является количество дней, разделяющих эти даты. Прибавление часов к дате производится путем деления количества часов на 24. Арифметические операции с датами

  19. Функции для работы с датами • MONTHS_BETWEEN Количество месяцев, разделяющих две даты. • ADD_MONTHS Добавление календарных месяцев к дате. • NEXT_DAY Ближайшая дата, когда наступит заданный день недели. • LAST_DAY Последняя дата текущего месяца. • ROUND Округление до целых суток. • TRUNC Отсечение части даты, обозначающей время.

  20. MONTHS_BETWEEN('01-SEP-95','11-JAN-94') 16.6774194 ADD_MONTHS('11-JAN-94',6) '11-JUL-94' NEXT_DAY('01-SEP-95','FRIDAY') '08-SEP-95' LAST_DAY('01-SEP-95') '30-SEP-95' Функции для работы с датами

  21. ROUND('25-MAY-95','MONTH') 01-JUN-95 ROUND('25-MAY-95','YEAR') 01-JAN-95 TRUNC('25-MAY-95','MONTH') 01-MAY-95 TRUNC('25-MAY-95','YEAR') 01-JAN-95 Функции для работы с датами

  22. Функция TO_CHAR преобразует число или строку даты в строку символов. Функция TO_NUMBER преобразует строку символов, состоящую из цифр, в число. Функция TO_DATE преобразует строку символов с датой в значение типа "дата". Функции преобразования могут использовать модель формата, состоящую из нескольких элементов. Функции преобразования

  23. ТО_CHAR (date,'fmt') Модель формата: • Должна быть заключена в апострофы. • Различает символы верхнего и нижнего регистров. • Может включать любые разрешенные элементы формата даты. • Использует элемент fm для удаления конечных пробелов и ведущих нулей. • Отделяется от значения даты запятой. Функция TO_CHAR с датами: синтаксис

  24. YYYY - полный год цифрами YEAR - год прописью ММ -двузначное цифровое обозначение месяца MONTH - полное название месяца DY - трехзначное алфавитное сокращенное название дня недели DAY - полное название дня Элементы формата даты

  25. Форматы времени Функция TO_CHAR с форматами дат

  26. Использование префикса FMПрефикс FM подавляет конечные пробелы в названиях месяцев и днейнедели, оставляя результат переменной длины. Подавляются и ведущиенули в числах. Повтор префикса FM отменяет подавление.Суффиксы, влияющие на формат вывода чисел Другие форматы

  27. Элементы, связанные со временем, задают формат части даты, указывающей время. - HH24:MI:SS AM 15:45:32 РМ • Символьные строки добавляются в кавычках, - DD " Of " MONTH 12 of OCTOBER • Числовые суффиксы используются для вывода числительных словами. - ddspth fourteenth Элементы модели формата даты

  28. Пример Вывод имен и дат найма всех служащих, нанятых в 1991 году. Вывод дат должен производиться в формате типа "7 February 1991". SQL> SELECT last_name, TO_CHAR (start_date, 2 'fmDD "of" Month YYYY') HIREDATE 3 FROM s_emp 4 WHERE start_date LIKE '%91'; LAST_NAME HIREDATE Nagayama 17 of June 1991 Urguhart 18 of January 1991 Havel 27 of February 1991 Функция TO_CHAR с форматами дат

  29. ТО_СНАR(число, ’fmt’) Форматы, используемые с функцией TO_CHAR для вывода символьного значения в виде числа: • 9 - цифра. • 0 - вывод нуля. • $ - плавающий знак доллара. • L - плавающий символ местной валюты • . - вывод десятичной точки. • , - вывод разделителя троек цифр. Функция TO_CHAR с числами:синтаксис

  30. Преобразование строки символов в числовой формат с помощью функции TO_NUMBER: TO_NUMBER(Char) • Преобразование строки символов в формат даты с помощью функции TO_DATE: - TO_DATE ('10 September 1992', 'dd Month YYYY') Использование элементов формата. TO_DATE(char[,'fmt']) Функции TO_NUMBER и TO_DATE: синтаксис

  31. Работа с любыми типами данных • NVL • DECODE • GREATEST • LEAST Общие функции

  32. Аналогична серии вложенных операторов IF-THEN-ELSE • Выражение последовательно сравнивается со значениями • Значение_по_умолчанию возвращается, если выражение не соответствует ни одному из значений DECODE (выражение, значение1, результат1, значение2, результат2, … значение<n>, результат<n>, значение_по_умолчанию) Общие функции: DECODE

  33. SQL> SELECT DECODE (deptno, 10, 'ACCOUNTING', 2 20, 'RESEARCH', 3 30, 'SALES', 4 40, 'OPERATION', 5 'NONE') 6 FROM DEPT; Функция DECODE: пример DECODE(DEP ---------- ACCOUNTING RESEARCH SALES OPERATION

  34. Шаг1 = результат1 Шаг2 = результат2 Шаг3 = результат3 • Однострочные функции могут быть вложены на любую глубину. • Вложенные функции вычисляются от самого глубокого уровня к внешнему. F3(F2(Fl(col,arg1),arg2),arg3) Вложенные однострочныефункции

  35. SQL> SELECT last_name, 2 NVL(TO_CHAR(manager_id),‘No Manager') 3 FROM s_emp 4 WHERE manager_id IS NULL; 1. Вычисление внутренней функции для преобразования числового значения в строку символов. - Результат1=TO_CHAR(manager_id) 2. Вычисление внешней функции для замены неопределенного значения текстовой строкой - NVL(Результат1,'No Manager') Вложенные функции

  36. Однострочные функции могут быть вложены на любую глубину. Однострочные функции работают с символьными, числовыми данными и данными типа "дата". К функциям преобразования относятся ТО_CHAR, TO_DATE, TO_NUMBER. SYSDATE - псевдостолбец, используемый для вывода текущей даты и времени. DUAL - фиктивная таблица в базе данных. Заключение

More Related