PL/SQL. Funkcje wbudowane



Podobne dokumenty
Język SQL. Rozdział 3. Funkcje wierszowe

Funkcje. Rozdział 3a Funkcje wierszowe. Funkcje znakowe (1) Funkcje wierszowe

Oracle PL/SQL. Paweł Rajba.

Funkcje. Rozdział 3. Funkcje. Funkcje znakowe (1) Funkcje wierszowe

PL/SQL. Część 1 Oracle SQL. Piotr Medoń

Zagadnienia podstawowe

Wykład 8 Implementacja języka SQL w systemach baz danych Oracle specyficzne konstrukcje i funkcje Oracle SQL, funkcje numeryczne, znakowe, daty i

Język SQL. Rozdział 3. Zaawansowana selekcja danych

osiągnął długość podaną jako drugi parametr. Jeśli wynik jest dłuższy niż zadeklarowana długość, zostaje ucięty z prawej strony.

Funkcja INITCAP. SQL> select initcap(dname), initcap(loc) from dept; Funkcja SUBSTR

Szkolenie Oracle SQL podstawy. Terminy lutego 2010 First Minute! 1100zł!

Bazy danych. Plan wykładu. Dekompozycja relacji. Anomalie. Wykład 5: Projektowanie relacyjnych schematów baz danych. SQL - funkcje grupujce

Ściągawka z funkcji i właściwości systemowych VBA. Opis działania i parametrów. Nazwa funkcji. Składnia zwracanej wartości

Przydatne sztuczki - sql. Na przykładzie postgres a.

BAZY DANYCH JĘZYK ZAPYTAŃ BAZ DANYCH SQL. Microsoft Access. Adrian Horzyk. Akademia Górniczo-Hutnicza

Autor: Joanna Karwowska

Autor: Joanna Karwowska

Laboratorium Baz Danych. Zapytania SQL (część 3)

OBLICZENIA NA DANYCH

Bazy danych SQL Server 2005

SQL (ang. Structured Query Language)

PL/SQL. Część 1 Bloki PL/SQL. Piotr Medoń

a) Polecenie: Wyświetl wszystkie rekordy z tabeli Pracownicy (wszystkie atrybuty)

Zadania SELECT do schematu EDS (EMP, DEPT, SALGRADE)

XQuery. sobota, 17 grudnia 11

TECHNOLOGIE BAZ DANYCH

Współczesne systemy baz danych

Wprowadzania liczb. Aby uniknąć wprowadzania ułamka jako daty, należy poprzedzać ułamki cyfrą 0 (zero); np.: wpisać 0 1/2

Przegląd podstawowych funkcji Excel.

FUNKCJE TEKSTOWE W MS EXCEL

LibreOffice Calc VBA

Administracja i programowanie pod Microsoft SQL Server 2000

Laboratorium Bazy danych SQL 2

Współczesne systemy baz danych

Podstawy języka SQL Co to jest SQL? Możliwości SQL SQL*Plus

2. Język SQL SQL jest językiem deklaratywnym (Charakterystyczną cechą języków

Bazy danych 7/15. Andrzej Łachwa, UJ,

Podstawowe zapytania SELECT (na jednej tabeli)

Stałe, znaki, łańcuchy znaków, wejście i wyjście sformatowane

opisuje nazwy kolumn, wyrażenia arytmetyczne, funkcje nazwy tabel lub widoków warunek (wybieranie wierszy)

Bazy danych 2. Anna Fiedorowicz Wydział Matematyki, Informatyki i Ekonometrii

Ćwiczenie 2 funkcje wierszowe

Wstęp do SQL. copyright: KGiIS WGGiOŚ AGH

Spis treści. 1 Kraj/region i język Ustawienia regionalne Liczby Waluta Czas i data Inne...

Autor: dr inż. Katarzyna Rudnik

SQL, LIKE, IN, CASE, EXISTS. Marcin Orchel

Bazy danych w aplikacjach internetowych

Marek Rakowski Podstawy zdania SELECT Strona 1 z 12

Bloki anonimowe w PL/SQL

Wykład 7 Implementacja języka SQL w systemach baz danych Oracle sortowanie, funkcje agregujące i podzapytania.

Kiedy i czy konieczne?

Pracownia Komputerowa wykład VI

Dr inż. Grażyna KRUPIŃSKA. D-10 pokój 227 WYKŁAD 2 WSTĘP DO INFORMATYKI

1 Wprowadzenie do funkcji

Systemy GIS Tworzenie zapytań w bazach danych

Wybór wszystkich danych: SELECT * FROM employee Wybór określonych kolumn lub wyrażeń: SELECT first_name, last_name, salary FROM employee

- język zapytań służący do zapisywania wyrażeń relacji, modyfikacji relacji, tworzenia relacji

EGZAMIN MATURALNY Z INFORMATYKI WYBRANE: ... (system operacyjny) ... (program użytkowy) ... (środowisko programistyczne)


DECLARE <nazwa_zmiennej> typ [(<rozmiar> )] [ NOT NULL ] [ { := DEFAULT } <wartość> ];

LABORATORIUM 1

SQL do zaawansowanych analiz danych część 1.

Przestrzenne bazy danych Podstawy języka SQL

Spis treści OPIS PLIKU W FORMACIE CSV Z DANYMI PPE LUB EP 1

Procedury składowane. Funkcje vs. procedury Funkcja. Procedura. zazwyczaj ma parametry tylko typu IN; można wywoływać z poziomu

Opis: Instrukcja warunkowa Składnia: IF [NOT] warunek [AND [NOT] warunek] [OR [NOT] warunek].

niż zadeklarowana długość, zostaje ucięty z prawej strony. osiągnął długość podaną jako drugi parametr. Jeśli wynik jest dłuższy

Instrukcje DQL: SELECT. Zastosowanie SELECT, opcje i warianty

Technologie baz danych

Zapis liczb binarnych ze znakiem

1 Wprowadzenie do języka SQL 1. 2 Podstawowe elementy języka 3. 3 DML - zapytania, część I 6. 4 Źródła 12

SQL - Structured Query Language. strukturalny język zapytań

INFORMATYKA Studia Niestacjonarne Elektrotechnika

Pakiety są logicznymi zbiorami obiektów takich jak podprogramy, typy, zmienne, kursory, wyjątki.

Bazy danych. Plan wykładu. Definicja zalenoci funkcyjnych. Zalenoci funkcyjne. Wykład 4: Relacyjny model danych - zalenoci funkcyjne.

Bazy danych. Andrzej Łachwa, UJ, /14

Kod uzupełnień do dwóch jest najczęściej stosowanym systemem zapisu liczb ujemnych wśród systemów binarnych.

EGZAMIN MATURALNY Z INFORMATYKI MAJ 2010 POZIOM ROZSZERZONY CZĘŚĆ I WYBRANE: Czas pracy: 90 minut. Liczba punktów do uzyskania: 20 WPISUJE ZDAJĄCY

Programowanie proceduralne INP001210WL rok akademicki 2018/19 semestr letni. Wykład 6. Karol Tarnowski A-1 p.

Pascal typy danych. Typy pascalowe. Zmienna i typ. Podział typów danych:

Języki programowania wysokiego poziomu. Forum, Blog, Sample DB - wskazówki

Wprowadzenie do języka Pascal

Podstawy programowania. Python wykład 6

SQL i PL/SQL podstawy

Język SQL. Rozdział 9. Język definiowania danych DDL, cześć 1. Tworzenie relacji, typy danych, wartości domyślne atrybutów, słownik bazy danych.

1 Obsługiwane funkcje wyzwalaczy

SELECT * FROM tabela WHERE warunek wybiera dane spełniające podany warunek

ARCHITEKRURA KOMPUTERÓW Kodowanie liczb ze znakiem

Pracownia Komputerowa wykład V

Podstawy Informatyki. Metalurgia, I rok. Wykład 3 Liczby w komputerze

Zestaw 3. - Zapis liczb binarnych ze znakiem 1

strukturalny język zapytań używany do tworzenia i modyfikowania baz danych oraz do umieszczania i pobierania danych z baz danych

Widok Connections po utworzeniu połączenia. Obszar roboczy

Pracownia Komputerowa wyk ad VI

1.1. Pozycyjne systemy liczbowe

Kod U2 Opracował: Andrzej Nowak

Bazy danych. Plan wykładu. Zależności funkcyjne. Wykład 2: Relacyjny model danych - zależności funkcyjne. Podstawy SQL.

Liczby rzeczywiste są reprezentowane w komputerze przez liczby zmiennopozycyjne. Liczbę k można przedstawid w postaci:

Programowanie 3 - Funkcje, pliki i klasy

Transkrypt:

Slajd 1 PL/SQL Opis funkcji SQL PL/SQL(funkcje SQL) M. Rakowski - WSISiZ 1 Slajd 2 Funkcje wbudowane Funkcje wbudowane mają za zadanie umożliwić bardziej zaawansowane operowanie danymi. Funkcje operacji na liczbach Funkcje operacji na datach Funkcje konwersji Funkcje niezależne od typu danych Funkcje grupowe PL/SQL(funkcje SQL) M. Rakowski - WSISiZ 2

Slajd 3 ASCII( ciąg znaków ) - Zwraca kod ASCII pierwszej litery w podanym ciągu znaków SELECT ename, ASCII(ename) FROM emp; CHR( kod ) - Zwraca znak o podanym kodzie Przykłady: SELECT CHR( ASCII(ename) ) FROM emp; PL/SQL(funkcje SQL) M. Rakowski - WSISiZ 3 Slajd 4 INITCAP( ciąg znaków ) Zwraca ciąg znaków, w którym każde słowo ma dużą pierwszą literę, a pozostałe są małe. SELECT ename, INITCAP( ename ) FROM emp; INSTR( ciąg_znaków1, ciąg_znaków2 [, n [, m]]) Zwraca pozycję m-tego wystąpienia ciągu_znaków2 w ciągu_znaków1, jeśli szukanie rozpoczęto od pozycji n. Jeżeli m jest pominięte, to przyjmowana jest wartość 1. Jeśli n jest pominięte, przyjmowana jest wartość 1. SELECT ename, INSTR( ename, LL ) FROM emp; PL/SQL(funkcje SQL) M. Rakowski - WSISiZ 4

Slajd 5 LENGTH( ciąg_znaków ) - Zwraca długość podanego ciągu znaków. SELECT job, LENGTH( job ) FROM emp; LOWER( ciąg_znaków ) - Zamienia wszystkie litery w podanym ciągu znaków na małe. SELECT job, LOWER( job) FROM emp; PL/SQL(funkcje SQL) M. Rakowski - WSISiZ 5 Slajd 6 LPAD(ciągu znaków 1, n [,ciągu znaków 2]) Zwraca ciągu znaków 1 uzupełniony do długości n lewostronnie ciągami znaków ze ciągu znaków 2. Jeśli ciąg znaków 2 nie jest podany to przyjmowana jest spacja. Jeśli n jest mniejsze od długości string1, to zwracane jest n pierwszych znaków z tekstu string1. SELECT LPAD( ename, 40 ), LPAD( sal, 20,. ) FROM emp; LTRIM(ciąg znaków [, zbiór]) Usuwa litery z tekstu ciąg znaków od lewej strony aż do napotkania litery nie należącej do tekstu zbiór. Jeśli zbiór nie jest podany to przyjmowany jest ciąg pusty. SELECT LTRIM(LPAD( ename, 40 )), LPAD( sal, 20,. ) FROM emp; PL/SQL(funkcje SQL) M. Rakowski - WSISiZ 6

Slajd 7 REPLACE(ciąg znaków, szukany ciąg znaków [,nowy ciąg znaków]) Zwraca ciąg znaków z zamienionym każdym wystąpieniem szukanego ciągu znaków na tekst nowy ciąg znaków. SELECT job, REPLACE( job, MAN, WOMAN ) FROM emp; PL/SQL(funkcje SQL) M. Rakowski - WSISiZ 7 Slajd 8 RPAD( ciąg_znaków1,n [, ciąg_znaków2]) Zwraca ciąg_znaków1 uzupełniony prawostronnie do długości n ciągami ciąg_znaków2. Jeśli ciąg_znaków2 nie jest podany, to przyjmuje się spację, Jeśli n jest mniejsze od długości ciągu_znaków1, to zwracane jest n pierwszych znaków z tekstu ciąg_znaków1. SELECT RPAD( ename, 40,. ), LPAD( sal, 20,. ) FROM emp; PL/SQL(funkcje SQL) M. Rakowski - WSISiZ 8

Slajd 9 RTRIM(ciąg_znaków1 [, zbiór]) Zwraca ciąg_znaków1 z usuniętymi ostatnimi literami, które znajdują się w ciągu_znaków zbiór. Jeśli zbiór nie jest podany to przyjmowany jest ciąg pusty SELECT RTRIM(RPAD( ename, 40,. ),. ) FROM emp; PL/SQL(funkcje SQL) M. Rakowski - WSISiZ 9 Slajd 10 SUBSTR(ciąg_znaków, m [, n]) Zwraca podciąg z ciągu znaków zaczynający się na znaku m i o długości n. Jeśli n nie jest podane, to zwracany jest podciąg od znaku m do ostatniego w ciągu_znaków. Pierwszy znak w ciągu ma numer 1. SELECT ename, SUBSTR( ename, 1, 3) FROM emp; PL/SQL(funkcje SQL) M. Rakowski - WSISiZ 10

Slajd 11 UPPER( ciąg_znaków ) Zamienia wszystkie znaki z ciągu ciąg_znaków na duże litery. SELECT Abc, UPPER( Abc ) FROM dual; PL/SQL(funkcje SQL) M. Rakowski - WSISiZ 11 Slajd 12 Funkcje operacji na liczbach ABS(n) Zwraca wartość absolutną liczby n SELECT hiredate - sysdate, ABS (hiredate - sysdate) FROM emp; CEIL(n) Zwraca najmniejszą liczbę całkowitą większą lub równą n SELECT CEIL(-1.5), CEIL(1.5) FROM dual; PL/SQL(funkcje SQL) M. Rakowski - WSISiZ 12

Slajd 13 Funkcje operacji na liczbach FLOOR(n) Zwraca największą liczbę całkowitą mniejszą lub równą n SELECT FLOOR (-1.5), FLOOR (1.5) FROM dual; MOD(m, n) Zwraca resztę z dzielenia liczby m przez n SELECT MOD( 4/3, 1 ) jedna trzecia FROM dual; PL/SQL(funkcje SQL) M. Rakowski - WSISiZ 13 Slajd 14 Funkcje operacji na liczbach ROUND(n[, m]) Zwraca liczbę n zaokrągloną do m miejsc po przecinku. Jeśli m jest pominięte, to przyjmuje się 0. Liczba m może być dodatnia lub ujemna (zaokrąglenie do odpowiedniej liczby cyfr przed przecinkiem). SELECT ROUND (-1.5), ROUND (1.5), ROUND (15, -1) FROM dual; PL/SQL(funkcje SQL) M. Rakowski - WSISiZ 14

Slajd 15 Funkcje operacji na liczbach SIGN(n) Zwraca 0, jeśli n jest równe 0, -1 jeśli n jest mniejsze od 0, 1 jeśli n jest większe od 0 SELECT SIGN (-1.5), SIGN (1.5) FROM dual; TRUNC(m[, n]) Zwraca m obcięte do n miejsc po przecinku. Jeśli n nie jest podane, to przyjmuje się 0. Jeśli n jest ujemne to obcinane są cyfry przed przecinkiem. SELECT TRUNC (-1.5), TRUNC(1.5), 15, TRUNC (15, -1) FROM dual; PL/SQL(funkcje SQL) M. Rakowski - WSISiZ 15 Slajd 16 Funkcje operacji na datach ADD_MONTHS (data, n) - Zwraca podaną datę powiększoną o podaną liczbę miesięcy n. Liczba ta może być ujemna SELECT ADD_MONTHS( SYSDATE, 2) FROM dual; LAST_DAY(data) - Zwraca datę będącą ostatnim dniem w miesiącu zawartym w podanej dacie. SELECT LAST_DAY ( SYSDATE ) FROM dual; PL/SQL(funkcje SQL) M. Rakowski - WSISiZ 16

Slajd 17 Funkcje operacji na datach MONTHS_BETWEEN (date1, date2) - Zwraca liczbę miesięcy pomiędzy datami data1 i date2. Wynik może być dodatni lub ujemny. Część ułamkowa jest częścią miesiąca zawierającego 31 dni. SELECT MONTHS_BETWEEN( SYSDATE, SYSDATE - 61 ) FROM dual; PL/SQL(funkcje SQL) M. Rakowski - WSISiZ 17 Slajd 18 Funkcje operacji na datach NEXT_DAY(data, ciąg_znaków) Zwraca datę pierwszego dnia tygodnia podanego w ciąg_znaków, który jest późniejszy niż data. Parametr ciąg_znaków musi być poprawną nazwą dnia. SELECT NEXT_DAY ( SYSDATE, Wtorek ) FROM dual; PL/SQL(funkcje SQL) M. Rakowski - WSISiZ 18

Slajd 19 Funkcje operacji na datach ROUND(data [, fmt]) Zwraca datę zaokrągloną do jednostki zaokrąglania podanej w fmt. Domyślnie jest to najbliższy dzień. Notacja fmt wspólny dla konwersji / przedstawiania na daty: YYYY, YYY, YY, Y rok (zaokrąglenie w wzwyż od 1 lipca) MONTH, MON, MM miesiąc (zaokrąglenie w górę od 16 dnia) DD,D dzień HH, HH24 godzina MI minuta SS sekunda (niedozwolony dla zaokrąglania) np. data 23-11-1999 odpowiada użyciu formatu DD SELECT ROUND( SYSDATE, MONTH ) FROM dual; PL/SQL(funkcje SQL) M. Rakowski - WSISiZ 19 Slajd 20 Funkcje operacji na datach SYSDATE Zwraca aktualny czas i datę. Nie wymaga podania argumentów. TRUNC(data [, fmt]) Zwraca datę obciętą do jednostki podanej w fmt. Domyślnie jest to dzień, tzn. usuwana jest informacja o czasie. SELECT SYSDATE, TRUNC( SYSDATE, 'MONTH' ), TRUNC( SYSDATE ) FROM dual; PL/SQL(funkcje SQL) M. Rakowski - WSISiZ 20

Slajd 21 Funkcje konwersji TO_CHAR(n [, fmt]) (konwersja numeryczna) Konwertuje wartość numeryczną na znakową używając opcjonalnego ciągu formatującego. Jeśli ciąg formatujący nie jest podany, to wartość jest konwertowana tak, by zawrzeć wszystkie cyfry znaczące. 9 Liczba '9' określa wyświetlanie cyfry 0 Pokazuje wiodące zera B Wyświetla zera jako spacje (nie jako zera), (przecinek) Wyświetla przecinek na podanej pozycji. (kropka) Wyświetla kropkę na podanej pozycji D Wyświetla kropkę lub przecinek na podanej pozycji SELECT TO_CHAR(1/3, 0D999999999999999 ) FROM dual; PL/SQL(funkcje SQL) M. Rakowski - WSISiZ 21 Slajd 22 Funkcje konwersji TO_CHAR(d [, fmt]) (konwersja daty) Konwertuje datę na tekst, używając podanego formatu. SELECT TO_CHAR( sysdate, DD-MM- YYYY HH24:MI:SS ) FROM dual; PL/SQL(funkcje SQL) M. Rakowski - WSISiZ 22

Slajd 23 Funkcje konwersji TO_DATE(ciąg_znaków [, fmt]) Przekształca ciąg znaków w datę. Używa danych aktualnych, jeśli nie mogą być one odczytane z podanego tekstu. Do konwersji używany jest podany ciąg formatujący lub wartość domyślna w ramach sesji SELECT TO_DATE( 10-12-2006, DD-MM-YYYY ) FROM dual; TO_NUMBER (ciąg_znaków) Przekształca tekst zawierający zapis liczby na liczbę PL/SQL(funkcje SQL) M. Rakowski - WSISiZ 23 Slajd 24 Funkcje niezależne od typu danych NVL (wyrażenie1/kolumna1, wyrażenie/kolumna) Jeśli wyrażenie1/kolumna1 jest równe NULL zwraca wyrażenie/kolumna, w przeciwnym wypadku zwraca wyrażenie1/kolumna1. PL/SQL(funkcje SQL) M. Rakowski - WSISiZ 24

Slajd 25 Funkcje niezależne od typu danych DECODE (wyrażenie/kolumna, przypadek1, wynik1, [...,...,] [ wynik_dla_pozostałych_przypadków] ) funkcja typu case tj. zwracająca zdeklarowaną wartość dla określonego przypadku. SELECT DECODE( RTRIM(TO_CHAR( SYSDATE, 'DAY')), 'SOBOTA', 'Jest sobota', ŚRODA', 'Jest środa', 'Inny dzień') FROM dual; Uwaga: w podanym przykładzie używane są ustawienia językowe sesji PL/SQL(funkcje SQL) M. Rakowski - WSISiZ 25 Slajd 26 Funkcje niezależne od typu danych konstrukcja CASE [WHEN warunek* THEN wartość]* [ELSE wartość] END CASE * - co najmniej jedno wystąpienie PL/SQL(funkcje SQL) M. Rakowski - WSISiZ 26

Slajd 27 Funkcje niezależne od typu danych USER - Zwraca nazwę użytkownika SELECT USER Kim jestem FROM dual; SYSDATE Zwraca bieżącą datę i czas PL/SQL(funkcje SQL) M. Rakowski - WSISiZ 27 Slajd 28 Funkcje grupowe AVG( [DISTINCT ALL] num) - Zwraca wartość średnią ignorując wartości nieokreślone. Przykłady: SELECT AVG( sal ) FROM emp; PL/SQL(funkcje SQL) M. Rakowski - WSISiZ 28

Slajd 29 Funkcje grupowe COUNT( [DISTINCT ALL] wyrażenie/kolumna) Zwraca liczbę wierszy, w których wyrażenie/kolumna nie jest NULL. Ponadto DISTINCT zlicza tylko niepowtarzające się. COUNT(*) Zwraca liczbę wierszy w tabeli włączając powtarzające się i równe NULL. Przykłady: SELECT COUNT(*) FROM emp; SELECT COUNT( comm ) FROM emp; SELECT COUNT( distinct job ) FROM emp; PL/SQL(funkcje SQL) M. Rakowski - WSISiZ 29 Slajd 30 Funkcje grupowe MAX( [DISTINCT ALL] wyrażenie/kolumna) - Zwraca maksymalną wartość wyrażenia. SELECT MAX( hiredate ) FROM emp; MIN( [DISTINCT ALL] wyrażenie/kolumna) - Zwraca minimalną wartość wyrażenia. SELECT MIN( sal ) FROM emp; PL/SQL(funkcje SQL) M. Rakowski - WSISiZ 30

Slajd 31 Funkcje grupowe SUM( [DISTINCT ALL] wyrażenie/kolumna) - Zwraca sumę wartości wyrażenie/kolumna. Przykłady: SELECT job, SUM( sysdate-hiredate) FROM emp GROUP BY job ORDER BY 2 DESC; PL/SQL(funkcje SQL) M. Rakowski - WSISiZ 31