Cyfroteka.pl

klikaj i czytaj online

Cyfro
Czytomierz
00236 004803 14460947 na godz. na dobę w sumie
SQL. Leksykon kieszonkowy. Wydanie II - książka
SQL. Leksykon kieszonkowy. Wydanie II - książka
Autor: Liczba stron: 224
Wydawca: Helion Język publikacji: polski
ISBN: 978-83-246-3306-7 Data wydania:
Lektor:
Kategoria: ebooki >> komputery i informatyka >> bazy danych >> sql - programowanie
Porównaj ceny (książka, ebook, audiobook).

Przewodnik po świecie SQL!

SQL to prawdopodobnie jeden z ostatnich wiekowych języków programowania, tak powszechnie używanych w codziennej pracy. Jego możliwości są ogromne. Jeżeli nauczysz się konstruować zapytania SQL, będziesz potrafił wyłowić dowolną informację z każdej bazy danych. Brzmi kusząco?

Dzięki temu przewodnikowi będziesz miał zawsze na wyciągnięcie ręki kompletny zbiór informacji na temat języka SQL. Już nigdy więcej nie zaskoczą Cię niuanse jego składni. Błyskawicznie zapoznasz się z typami danych, sposobami wykonywania operacji na datach oraz dostępnymi funkcjami. Nauczysz się wyciągać odpowiednie dane, złączać tabele, dodawać nowe dane, aktualizować te istniejące oraz usuwać niepotrzebne informacje. Ponadto dowiesz się, jak konstruować podzapytania i konwertować dane, oraz uświadomisz sobie, jakie różnice istnieją pomiędzy różnymi bazami. Te i wiele innych wiadomości znajdziesz w tym niezwykle przydatnym przewodniku po języku SQL!

Zapanuj nad ogromem informacji w bazie danych!

Znajdź podobne książki Ostatnio czytane w tej kategorii

Darmowy fragment publikacji:

SQL. Leksykon kieszonkowy. Wydanie II Autor: Jonathan Gennick Tłumaczenie: Marek Pałczyński ISBN: 978-83-246-3306-7 Tytuł oryginału: SQL Pocket Guide Format: 115×170, stron: 220 Przewodnik po świecie SQL! • Jak wykorzystać podzapytania? • Jak wykonać złączenie tabel? • Jak stworzyć tabelę w DB2, MySQL, Oracle, PostgreSQL oraz SQL Server? SQL to prawdopodobnie jeden z ostatnich wiekowych języków programowania, tak powszechnie używanych w codziennej pracy. Jego możliwości są ogromne. Jeżeli nauczysz się konstruować zapytania SQL, będziesz potrafił wyłowić dowolną informację z każdej bazy danych. Brzmi kusząco? Dzięki temu przewodnikowi będziesz miał zawsze na wyciągnięcie ręki kompletny zbiór informacji na temat języka SQL. Już nigdy więcej nie zaskoczą Cię niuanse jego składni. Błyskawicznie zapoznasz się z typami danych, sposobami wykonywania operacji na datach oraz dostępnymi funkcjami. Nauczysz się wyciągać odpowiednie dane, złączać tabele, dodawać nowe dane, aktualizować te istniejące oraz usuwać niepotrzebne informacje. Ponadto dowiesz się, jak konstruować podzapytania i konwertować dane, oraz uświadomisz sobie, jakie różnice istnieją pomiędzy różnymi bazami. Te i wiele innych wiadomości znajdziesz w tym niezwykle przydatnym przewodniku po języku SQL! • Typy danych oraz ich konwersje • Funkcje operujące na datach i czasie • Funkcje agregujące • Indeksy – tworzenie i usuwanie • Wprowadzanie danych • Złączenia • Pobieranie danych z bazy • Funkcje tekstowe • Podzapytania • Tworzenie tabel • Aktualizacja danych Zapanuj nad ogromem informacji w bazie danych! Idź do • Spis treści • Przykładowy rozdział • Skorowidz Katalog książek • Katalog online • Zamów drukowany katalog Twój koszyk • Dodaj do koszyka Cennik i informacje • Zamów informacje o nowościach • Zamów cennik Czytelnia • Fragmenty książek online Kontakt Helion SA ul. Kościuszki 1c 44-100 Gliwice tel. 32 230 98 63 e-mail: helion@helion.pl © Helion 1991–2011 Spis treļci Wprowadzenie Funkcje analityczne WyraĔenia CASE — proste wyraĔenia WyraĔenia CASE — przeszukiwane wyraĔenia Funkcja CAST Zapytania CONNECT BY Konwersje typów danych Typy danych — liczby caäkowite (wartoĈci binarne) Typy danych — ciñgi znaków Typy danych — data i czas Typy danych — liczby rzeczywiste Konwersja daty i czasu — DB2 Konwersja daty i czasu — MySQL Konwersja daty i czasu — Oracle Konwersja daty i czasu — PostgreSQL Konwersja daty i czasu — SQL Server Funkcje operujñce datami i czasem — DB2 Funkcje operujñce datami i czasem — MySQL Funkcje operujñce datami i czasem — Oracle Funkcje operujñce datami i czasem — PostgreSQL Funkcje operujñce datami i czasem — SQLServer Usuwanie danych Funkcja EXTRACT Funkcja GREATEST Funkcje grupowania i sumowania 5 10 10 10 11 12 19 20 20 21 25 27 30 36 40 43 47 48 50 54 56 59 64 64 65 3 Zapytania hierarchiczne Indeksy — tworzenie Indeksy — usuwanie Wprowadzanie danych Zäñczanie tabel Funkcja LEAST Literaäy Scalanie danych WartoĈci NULL Konwersja wartoĈci liczbowych — DB2 Konwersja wartoĈci liczbowych — MySQL Konwersja wartoĈci liczbowych — Oracle Konwersja wartoĈci liczbowych — PostgreSQL Konwersja wartoĈci liczbowych — SQL Server Funkcje liczbowe i matematyczne Funkcje OLAP Transpozycja tabel Predykaty Zapytania rekurencyjne WyraĔenia regularne Pobieranie danych Funkcje tekstowe Podzapytania Tabele — tworzenie Tabele — usuwanie Tabele — modyfikacja Zarzñdzanie transakcjami Unie Uaktualnianie danych Funkcje okienkowe Skorowidz 76 81 82 83 89 101 101 106 108 113 115 116 118 120 121 124 124 133 137 138 150 162 169 174 179 180 186 196 203 209 219 4 _ Spis treļci jest definiowana przez parametr skala. Na przykäad zapis DECIMAL ´(9,2) oznacza moĔliwoĈè zapisu wartoĈci z przedziaäu o górnej granicy 9 999 999,99. Uwaga W bazach danych Oracle zadeklarowanie kolumny jako DECIMAL bez okreĈlenia precyzji i skali powoduje utworzenie kolumny przeznaczonej do przechowywania wartoĈci zmiennopozycyj- nych. W Ĉrodowisku DB2 ta sama deklaracja jest równowaĔna zapisowi DECIMAL(5,0). Natomiast SQL Server interpretuje jñ jako DECIMAL(18,0). Maksymalne wartoĈci precyzji i skali wynoszñ odpowiednio: 38 i 127 (Oracle), 31 i 31 (DB2), 38 i 38 (SQL Server), 65 i 30 (MySQL) oraz 1000 i 1000 (PostgreSQL). Konwersja daty i czasu — DB2 Twórcy platformy DB2 wäoĔyli ostatnio wiele wysiäku w zaim- plementowanie emulacji funkcji TO_CHAR i TO_DATE znanych z bazy danych Oracle. Z tego wzglödu wszyscy projektanci baz danych, którym zaleĔy na zapewnieniu zgodnoĈci z systemem Oracle, po- winni zapoznaè siö z zasadami dziaäania wymienionych funkcji. Ich zastosowanie zostaäo opisane w punkcie „Konwersje daty i czasu — Oracle”. JeĈli zgodnoĈè z platformñ Oracle nie jest wymagana, konwersjö wartoĈci dat, czasu i znaczników czasowych moĔna przeprowa- dziè za pomocñ opisanych poniĔej funkcji. Parametr okreĈlany jako data_czas moĔe odpowiadaè dacie, czasowi lub znacznikowi czasowemu. Argument zapisany jako data moĔe byè jedynie datñ lub znacznikiem czasowym. Z kolei parametr czas moĔe oznaczaè czas lub znacznik czasowy. Jedynie argument znacznik_czasowy okreĈla wyäñcznie znacznik czasowy. Analogicznie zakres_dat Konwersja daty i czasu — DB2 _ 27 odpowiada okresowi opisanemu za pomocñ dat. Parametr zakres_ ´czasu wyznacza okres definiowany przez wartoĈci czasu lub znaczników czasowych. Natomiast zakres_znaczników_czasowych reprezentuje okres opisany za pomocñ znaczników czasowych. Dozwolone sñ równieĔ wszystkie tekstowe odpowiedniki stosow- nych wartoĈci. BIGINT(data_czas) CHAR(data_czas, [ISO|USA|EUR|JIS|LOCAL]) DATE(data) DATE(liczba_caĪkowita) DATE( yyyyddd ) DAY(data) DAY(zakres_dat) DAYNAME(data) DAYOFWEEK(data) DAYOFWEEK_ISO(data) DAYOFYEAR(data) DAYS(data) DECIMAL(data_czas[,precyzja[,skala]]) GRAPHIC(data_czas, [ISO|USA|EUR|JIS|LOCAL]) HOUR(czas) HOUR(zakres_czasu) INTEGER(tylko_data) INTEGER(tylko_czas) JULIAN_DAY(data) MICROSECOND(znacznik_czasu) MICROSECOND(zakres_znaczników_czasowych) MIDNIGHT_SECONDS(czas) MINUTE(czas) MINUTE(zakres_czasu) MONTH(data) MONTH(zakres_dat) MONTHNAME(data) QUARTER(data) SECOND(czas) SECOND(zakres_czasu) TIME(czas) TIMESTAMP(znacznik_czasu) TIMESTAMP(data, czas) TIMESTAMP_FORMAT(ciîg_tekstowy, YYYY-MM-DD HH24:MI:SS ) TIMESTAMP_ISO(data_czas) TO_CHAR(znacznik_czasu, YYYY-MM-DD HH24:MI:SS ) TO_DATE(ciîg_tekstowy, YYYY-MM-DD HH24:MI:SS ) VARCHAR(data_czas) 28 _ SQL. Leksykon kieszonkowy VARCHAR_FORMAT(znacznik_czasu, YYYY-MM-DD HH24:MI:SS ) VARGRAPHIC(data_czas, [ISO|USA|EUR|JIS|LOCAL]) WEEK(data) WEEK_ISO(data) YEAR(data) YEAR(zakres_dat) W nastöpujñcym przykäadzie wykorzystano niektóre z wymie- nionych funkcji do utworzenia ciñgu tekstowego odpowiadajñ- cego wartoĈciom kolumny data_potwierdzenia. SELECT w.id, RTRIM(CHAR(DAY(w.data_potwierdzenia))) || || MONTHNAME(w.data_potwierdzenia) || || RTRIM(CHAR(YEAR(w.data_potwierdzenia))) potwierdzono FROM wodospady w; ID POTWIERDZONO ----------- --------------- 1 8 grudzieĬ 2005 2 8 grudzieĬ 2005 3 8 grudzieĬ 2005 4 8 grudzieĬ 2005 ... Funkcje wymagajñce okreĈlenia parametrów daty, czasu lub znacznika czasowego akceptujñ równieĔ ciñgi tekstowe, które mo- gñ byè poddane niejawnej konwersji na wartoĈci wymienionych typów. Oto przykäad: SELECT DATE( 2003-11-7 ) , TIME( 21:25:00 ), TIMESTAMP( 2003-11-7 21:25:00.00 ) FROM przestawna WHERE x = 1; Za pomocñ funkcji CHAR moĔna formatowaè daty, czas i znaczniki czasowe w róĔny sposób, zaleĔnie od wartoĈci drugiego parametru. SELECT CHAR(current_date, ISO), CHAR(current_date, LOCAL), CHAR(current_date, USA) FROM przestawna WHERE x=1; 2003-11-06 2003-11-06 11/06/2003 Konwersja daty i czasu — DB2 _ 29 Funkcja DATE umoĔliwia przeksztaäcenie liczby caäkowitej na wartoĈè daty. WartoĈci liczbowe muszñ mieĈciè siö w przedziale od 1 do 3 652 059, przy czym liczba 1 odpowiada dacie 01.01.0001. Funkcja DATE moĔe równieĔ wykonaè odwrotnñ konwersjö. SELECT DATE(716194), DAYS( 1961-11-15 ) FROM przestawna WHERE x=1; 1961-11-15 716194 Zastosowanie funkcji DECIMAL i BIGINT pozwala na uzyskanie wartoĈci daty, czasu i znacznika czasowego w formie liczby rze- czywistej lub oĈmiobajtowej liczby caäkowitej zgodnych z for- matem rrrrmmdd, ggmmss bñdĒ rrrrmmddggmmss.nnnnnnn1. SELECT DECIMAL(current_date), DECIMAL(current_time), DECIMAL(current_timestamp) FROM przestawna WHERE x=1; 20110227, 170632, 20110227170632,132511 Funkcja JULIAN_DAY zwraca liczbö dni, jakie upäynöäy od 01.01.4713 p.n.e. (czyli od 1 stycznia –4713 r.). Dacie tej odpowiada zerowa wartoĈè dnia. Odwrotna konwersja nie jest moĔliwa, gdyĔ nie ist- nieje stosowna funkcja. Konwersja daty i czasu — MySQL W bazie danych MySQL zostaäo zaimplementowanych wiele funkcji konwersji daty i czasu, z których pewne obsäugujñ równieĔ znaczniki czasu typowe dla systemu Unix. Poszczególne rozwiñ- zania zostaäy opisane w kolejnych punktach. 1 W polskiej wersji DB2 po wykonaniu polecenia (które zawiera w swoim kodzie kropkö) w wyniku otrzymuje siö przecinek — przyp. täum. 30 _ SQL. Leksykon kieszonkowy Wyodrýbnianie skĥadowych daty i czasu Nastöpujñce funkcje MySQL udostöpniajñ okreĈlone skäadowe daty i czasu: DAYOFWEEK(data) WEEKDAY(data) DAYOFMONTH(data) DAYOFYEAR(data) MONTH(data) DAYNAME(data) MONTHNAME(data) QUARTER(data) WEEK(data) WEEK(data, pierwszy_dzieĬ) YEAR(data) YEARWEEK(data) YEARWEEK(data, pierwszy_dzieĬ) HOUR(czas) MINUTE(czas) SECOND(czas) Aby otrzymaè aktualnñ wartoĈè daty w formacie dd-miesiñc-rrrr, naleĔy wykonaè nastöpujñcñ instrukcjö: SELECT CONCAT(DAYOFMONTH(CURRENT_DATE), - , MONTHNAME(CURRENT_DATE), - , YEAR(CURRENT_DATE)); 27-luty-2011 W funkcjach, w których wystöpuje parametr pierwszy_dzieĬ, na- leĔy wskazaè, czy tydzieþ rozpoczyna siö od niedzieli (pierwszy_ ´dzien = 0), czy od poniedziaäku (pierwszy_dzien = 1). Funkcje TO_DAYS i FROM_DAYS Zastosowanie funkcji TO_DAYS pozwala na przeksztaäcenie wartoĈci daty na liczbö dni, które upäynöäy od poczñtku naszej ery (dzieþ 01.01.0001 jest uznawany za dzieþ 1). SELECT TO_DAYS(CURRENT_DATE); 732110 Konwersja daty i czasu — MySQL _ 31 Odwrotne przeksztaäcenie zapewnia funkcja FROM_DAYS. SELECT FROM_DAYS(); 2004-06-13 Zastosowanie opisywanych funkcji ogranicza siö jedynie do przetwarzania dat kalendarza gregoriaþskiego, czyli wystöpujñ- cych po 15 paĒdziernika 1582 r. WartoĈci zwracane przez funkcje TO_DAYS i FROM_DAYS dla dat wczeĈniejszych sñ bäödne. Obsĥuga znacznika czasowego Unix Przedstawione w tym punkcie funkcje odpowiadajñ za konwer- sjö znacznika czasowego charakterystycznego dla systemów Unix. UNIX_TIMESTAMP([data]) Funkcja ta zwraca znacznik czasowy systemu Unix, który jest wartoĈciñ caäkowitñ bez znaku, przechowujñcñ liczbö sekund, które upäynöäy od dnia 01.01.1970. JeĈli nie zosta- nie podany Ĕaden parametr wywoäania funkcji, zwracanñ wartoĈciñ jest aktualny znacznik czasowy. Argumentem data moĔe byè ciñg tekstowy daty, ciñg tekstowy daty i czasu, ciñg tekstowy znacznika czasowego lub ich liczbowe odpo- wiedniki. FROM_UNIXTIME(znacznik_czasowy_Unix[, format]) Funkcja ta przeksztaäca znacznik czasowy systemu Unix w ciñg tekstowy daty i czasu, sformatowany zgodnie z pa- rametrem format do postaci pozwalajñcej na wyĈwietlenie uzyskanej wartoĈci na ekranie. Lista znaczników formatu zostaäa zamieszczona w tabeli 1., przedstawionej w dalszej czöĈci tego punktu. Przykäadowo, aby przeksztaäciè datö 04.01.2004 19:18 w liczbö se- kund, które upäynöäy od 01.01.1970, naleĔy uĔyè nastöpujñcej in- strukcji: 32 _ SQL. Leksykon kieszonkowy SELECT UNIX_TIMESTAMP(20040104191800); 1073240280 Aby przeksztaäciè znacznik czasowy w ciñg tekstowy czytelny dla czäowieka, naleĔy zastosowaè instrukcjö: SELECT FROM_UNIXTIME(1073240280, d. m. Y godz.: H: i: S ); 04.01.2004 godz.: 19:18:00 Parametr format ma charakter opcjonalny. DomyĈlny format daty, dla przedstawionego wczeĈniej przypadku, umoĔliwia uzyskanie wartoĈci: 2004-01-04 19:18:00. Funkcje operujéce sekundami dnia Baza danych MySQL udostöpnia dwie funkcje pozwalajñce na operowanie liczbñ sekund, które upäynöäy w danym dniu: SEC_TO_TIME(sekundy) Funkcja ta przeksztaäca liczbö sekund, które upäynöäy od póänocy, na ciñg tekstowy o postaci gg:mm:ss. TIME_TO_SEC(czas) Funkcja ta przeksztaäca czas w liczbö sekund, które upäynöäy od póänocy. Oto stosowny przykäad: SELECT TIME_TO_SEC( 19:18 ); 69480 SELECT SEC_TO_TIME(69480); 19:18:00 Konwersja daty i czasu — MySQL _ 33 Funkcje DATE_FORMAT i TIME_FORMAT Obydwie te funkcje cechuje niezwykle duĔa elastycznoĈè w prze- ksztaäcaniu wartoĈci daty i czasu na postaè ciñgów tekstowych. Instrukcja DATE_FORMAT odpowiada za operacje na datach, nato- miast TIME_FORMAT jest przeznaczona do przetwarzania informacji o czasie. SELECT DATE_FORMAT(CURRENT_DATE, W, d M Y ); piîtek, 11 marzec 2011 Drugi parametr obydwu funkcji jest ciñgiem tekstowym formatu. Wystöpujñce we wspomnianym ciñgu znaczniki formatu sñ zastö- powane przez odpowiednie elementy skäadowe daty i czasu. Ich opis znajduje siö w tabeli 1. Pozostaäe znaki wystöpujñce w ciñgu formatu (takie jak prezentowane w przykäadzie przecinek i spacja) sñ umieszczane w ciñgu wyjĈciowym w miejscach, w których wystöpujñ w ciñgu formatu. Tabela 1. Znaczniki formatu daty w bazie danych MySQL2 Znacznik formatu Opis a b c D Skrót nazwy dnia tygodnia: pon, wto, ļro, … Skrót nazwy miesiéca: sty, lut, mar, … Numer miesiéca: 1, 2, 3, … Dzieħ miesiéca z sufiksem liczebnika porzédkowego (wystýpujécym w jýzyku angielskim): 1st, 2nd, 3rd, … Dzieħ miesiéca; wartoļë dwucyfrowa: 01, 02, 03, … Dzieħ miesiéca: 1, 2, 3, … Mikrosekundy: 000000 – 999999 Godzina; wartoļë dwucyfrowa; format 24-godzinny: 00…23 d e f H 2 Aby wäñczyè wyĈwietlanie polskich nazw miesiöcy i dni tygodnia, naleĔy zmieniè wartoĈè zmiennej lc_time_names, wykonujñc instrukcjö SET lc_time_names = pl_PL — przyp. täum. 34 _ SQL. Leksykon kieszonkowy Tabela 1. Znaczniki formatu daty w bazie danych MySQL — ciñg dalszy Znacznik formatu h I i j k l M m p r S s T U u V v W w X x Y y Opis Godzina; wartoļë dwucyfrowa; format 12-godzinny: 01…12 Godzina; wartoļë dwucyfrowa; format 12-godzinny: 01…12 Minuty: 00, 01, … 59 Numer dnia w roku: 001…366 Godzina; format 24-godzinny: 0, 1, … 23 Godzina; format 12-godzinny: 1, 2, … 12 Nazwa miesiéca: styczeħ, luty, … Numer miesiéca: 01, 02, … 12 Oznaczenie pory dnia (wystýpujéce w jýzyku angielskim): AM, PM Czas w danym dniu w formacie 12-godzinnym, np. 12:15:05 PM Sekundy: 00, 01, … 59 Dziaĥanie znacznika jest takie samo jak znacznika S Czas w danym dniu w formacie 24-godzinnym, np. 12:15:05 Numer tygodnia, w którym niedziela jest pierwszym dniem: 00, 01, …53 Numer tygodnia, w którym poniedziaĥek jest pierwszym dniem: 00, 01, …53 Numer tygodnia, w którym niedziela jest pierwszym dniem; zliczanie rozpoczyna siý od wartoļci 01 i jest wykonywane analogicznie jak w przypadku znacznika X: 01, 02, …53 Numer tygodnia, w którym poniedziaĥek jest pierwszym dniem; zliczanie rozpoczyna siý od wartoļci 01 i jest wykonywane analogicznie jak w przypadku znacznika x: 01, 02, … 53 Nazwa dnia tygodnia: poniedziaĥek, wtorek, … Numer dnia tygodnia: 0 = niedziela, 1 = poniedziaĥek, … Rok danego tygodnia; wartoļë czterocyfrowa; za pierwszy dzieħ tygodnia uznawana jest niedziela; przetwarzanie analogiczne jak w przypadku znacznika V Rok danego tygodnia; wartoļë czterocyfrowa; za pierwszy dzieħ tygodnia uznawany jest poniedziaĥek; przetwarzanie analogiczne jak w przypadku znacznika v Czterocyfrowa wartoļë roku: 2003, 2004, … Dwucyfrowa wartoļë roku: 03, 04, … Umieszczenie w ciégu wynikowym znaku wartoļci procentowej ( ) Konwersja daty i czasu — MySQL _ 35 Konwersja daty i czasu — Oracle Korzystajñc z bazy danych Oracle do konwersji wartoĈci daty i czasu, moĔna zastosowaè nastöpujñce funkcje: TO_CHAR({data_czas|interwaĪ}, format} TO_DATE(ciîg_tekstowy, format) TO_TIMESTAMP(ciîg_tekstowy, format) TO_TIMESTAMP_TZ(ciîg_tekstowy, format) TO_DSINTERVAL( D HH:MI:SS ) TO_YMINTERVAL( Y-M ) NUMTODSINTERVAL(liczba, jednostka_ds ) NUMTOYMINTERVAL(liczba, jednostka_ym ) jednostka_ds ::= {DAY|HOUR|MINUTE|SECOND} jednostka_ym ::= {YEAR|MONTH} Parametr format umoĔliwia okreĈlenie tekstowej prezentacji wartoĈci daty i czasu. Oto przykäadowa definicja formatu wy- Ĉwietlania daty: SELECT nazwa, TO_CHAR(data_potwierdzenia, dd-Mon-yyyy ) cdate FROM wodospady; Munising Falls 08-Gru-2005 Tannery Falls 08-Gru-2005 Alger Falls 08-Gru-2005 ... MoĔliwa jest równieĔ konwersja w przeciwnym kierunku: INSERT INTO wodospady (id, nazwa, data_potwierdzenia) VALUES (15, Tahquamenon , TO_TIMESTAMP( 29-Dec-2006 , dd-Mon-yyyy )); Znaczniki skäadajñce siö na ciñg formatu zostaäy przedstawione w tabeli 2. Wyniki generowane przez wiökszoĈè z nich zaleĔñ od jözyka ustanowionej sesji (tzn. jeĈli sesja zostaäa ustanowiona w jözyku francuskim, zwracane sñ francuskie nazwy miesiöcy). 36 _ SQL. Leksykon kieszonkowy Tabela 2. Znaczniki formatowania daty w bazie danych Oracle Znacznik formatowania AM lub PM A.M. lub P.M. BC lub AD B.C. lub A.D. CC D DAY, Day lub day DD DDD DL DS DY, Dy lub dy E EE FF, FF1...FF9 FM FX HH lub HH12 Opis Wyznacznik pory dnia (AM — przed poĥudniem; PM — po poĥudniu) Wyznacznik ery (BC — przed naszé eré; AC — nasza era) Wiek. Dostýpny jedynie w odniesieniu do danych wyjļciowych Dzieħ tygodnia. Parametr NLS_TERRITORY okreļla, któremu dniowi tygodnia jest przypisywana wartoļë 1 Nazwa dnia tygodnia Numer dnia w miesiécu Numer dnia w roku DĥuŜszy ciég daty. Dostýpny jedynie w danych wyjļciowych. Znajduje zastosowanie jedynie w poĥéczeniu z parametrem TS Krótszy ciég daty. Dostýpny jedynie w danych wyjļciowych. Znajduje zastosowanie jedynie w poĥéczeniu z parametrem TS Skrót nazwy dnia. Wielkoļë znaków skrótu odpowiada wielkoļci znaków ciégu formatu Skrót nazwy ery dla japoħskiego kalendarza imperialnego (ang. Japanese Imperial), oficjalnego kalendarza Republiki Chin (ang. ROC Official) i tajskiego kalendarza buddyjskiego (ang. Thai Buddha). Stosowany jedynie w odniesieniu do danych wejļciowych Peĥna nazwa ery Czýļci sekundy. Parametr stosowany jedynie w odniesieniu do wartoļci typu TIMESTAMP. Zawsze naleŜy uŜywaë dwóch wartoļci F. Parametr FF1...FF9 jest dostýpny jedynie w bazie danych Oracle Database 10g i póŚniejszych Eliminuje puste znaki z ciégu wyjļciowego Wprowadza wymóg dokĥadnej zgodnoļci danych wejļciowych z okreļlonym formatem Godzina dnia. Wartoļci od 1 do 12. Parametr HH12 jest stosowany jedynie w odniesieniu do danych wyjļciowych Konwersja daty i czasu — Oracle _ 37 Tabela 2. Znaczniki formatowania daty w bazie danych Oracle — ciñg dalszy Znacznik formatowania Opis HH24 IW IYY lub IY lub I IYYY J MI MM MON, Mon lub mon MONTH, Month lub month Q RM lub rm RR RRRR SCC SP SPTH SS SSSS Godzina dnia. Wartoļci od 0 do 23 Tydzieħ standardu ISO w danym roku. Parametr stosowany jedynie w odniesieniu do danych wyjļciowych Ostatnie trzy, dwie lub jedna cyfra roku zapisanego w standardzie ISO. Parametr stosowany jedynie w odniesieniu do danych wyjļciowych Rok standardu ISO. Parametr stosowany jedynie w odniesieniu do danych wyjļciowych Data kalendarza juliaħskiego. 01.01.4712 p.n.e. jest uznawany za dzieħ o wartoļci 1 Minuty Numer miesiéca Skrót nazwy miesiéca Nazwa miesiéca Kwartaĥ roku. Parametr stosowany jedynie w odniesieniu do danych wyjļciowych Rzymska cyfra odpowiadajéca numerowi miesiéca Dwie ostatnie cyfry roku. Wykorzystuje przesuniýte okno stuleci: 00 – 49 = 20xx, 50 – 99 = 19xx Czterocyfrowa wartoļë roku (w ciégu wejļciowym akceptowana jest równieŜ wartoļë dwucyfrowa). Okno stuleci jest takie samo jak w przypadku parametru RR Wĥéczenie ujemnych wartoļci dat sprzed naszej ery. Parametr stosowany jedynie w odniesieniu do danych wyjļciowych Sufiks przeksztaĥcajécy wartoļë liczbowé na zapis sĥowny Sufiks przeksztaĥcajécy wartoļë liczbowé na zapis sĥowny i format porzédkowy Sekundy Liczba sekund, które upĥynýĥy od póĥnocy 38 _ SQL. Leksykon kieszonkowy Tabela 2. Znaczniki formatowania daty w bazie danych Oracle — ciñg dalszy Znacznik formatowania SYEAR, SYear lub syear SYYYY TH lub th TS TZD TZH TZM TZR W WW X Y,YYY YEAR, Year lub year YYY lub YY lub Y YYYY Opis Sĥowna wartoļë roku. Daty sprzed naszej ery majé wartoļë ujemné. Wielkoļë znaków odpowiada wielkoļci znaków ciégu formatu. Parametr stosowany jedynie w odniesieniu do danych wyjļciowych Czterocyfrowa wartoļë roku. Daty sprzed naszej ery majé wartoļë ujemné Sufiks przeksztaĥcajécy liczby na wartoļci porzédkowe Format skróconego ciégu czasu. Parametr stosowany jedynie w odniesieniu do danych wyjļciowych i w poĥéczeniu z parametrami DL i DS Skrót nazwy strefy czasowej. Parametr stosowany jedynie w odniesieniu do danych wejļciowych Godzinowa róŜnica czasu w odniesieniu do czasu UTC Minutowa róŜnica czasu w odniesieniu do czasu UTC Strefa czasowa Numer tygodnia w miesiécu (od 1 do 5). Tydzieħ o wartoļci 1 rozpoczyna siý pierwszego dnia miesiéca i koħczy siódmego dnia miesiéca. Parametr stosowany jedynie w odniesieniu do danych wyjļciowych Numer tygodnia w roku (od 1 do 53). Parametr stosowany jedynie w odniesieniu do danych wyjļciowych Znak lokalnego systemu, wykorzystywany do oznaczania separatora dziesiýtnego. W jýzyku polskim odpowiada przecinkowi (w amerykaħskiej odmianie angielskiego — kropce) Czterocyfrowa wartoļë roku ze znakiem przecinka Sĥowna wartoļë roku. Parametr stosowany jedynie w odniesieniu do danych wyjļciowych Ostatnie trzy, dwie cyfry lub jedna cyfra roku Czterocyfrowa wartoļë roku Konwersja daty i czasu — Oracle _ 39 Podczas konwersji na tekst wielkoĈè znaków w ciñgach wyniko- wych (np. w skrótach miesiöcy) jest uzaleĔniona od wielkoĈci liter znacznika formatu. Zatem zastosowanie znacznika Mon spowo- duje zawrócenie skrótów Sty lub Lut . Znacznik mon wyge- neruje wartoĈci sty i lut . Natomiast MON zwraca tekst STY lub LUT . Podczas przeksztaäcania wartoĈci z formatu tekstowego wielkoĈè znaków nie jest istotna. W przypadku wszystkich funkcji ciñg formatu jest opcjonalny. MoĔe zostaè pominiöty, jeĈli wartoĈci danych wejĈciowych speäniajñ kryteria domyĈlnych formatów daty, okreĈlonych przez parametry NLS_DATE_FORMAT w przypadku dat, NLS_TIMESTAMP_FORMAT w przypadku znaczników czasu oraz NLS_TIMESTAMP_TZ_FORMAT w przypadku znaczników czasu zawierajñcych informacje o stre- fach czasowych. Ustawienia NLS moĔna sprawdziè, kierujñc za- pytanie do tabeli NLS_SESSION_PARAMETERS. Konwersja daty i czasu — PostgreSQL Do przeksztaäcania wartoĈci daty i czasu na ciñgi tekstowe i od- wrotnie säuĔñ nastöpujñce funkcje: TO_CHAR({timestamp|interval}, format) TO_DATE(string, format) TO_TIMESTAMP(string, format) Na przykäad, aby uzyskaè tekstowñ reprezentacjö znacznika czasowego, moĔna zastosowaè instrukcjö: SELECT w.nazwa, TO_CHAR(w.data_potwierdzenia, dd-Mon-YYYY ) FROM wodospady w; nazwa | to_char -----------------+------------- Munising Falls | 08-Dec-2005 Tannery Falls | 08-Dec-2005 Alger Falls | 08-Dec-2005 ... 40 _ SQL. Leksykon kieszonkowy Aby wykonaè operacjö odwrotnñ (zamieniè ciñg tekstowy na datö), wystarczy wykonaè polecenie: SELECT TO_DATE( 8-Dec-2005 , dd-mon-yyyy ); Obsäuga znaczników formatu w bazach danych PostgreSQL jest bardzo zbliĔona do obowiñzujñcej na platformie Oracle. Lista do- stöpnych specyfikatorów zostaäa zamieszczona w tabeli 3. Wiel- koĈè znaków wykorzystanych w ciñgu formatu wyznacza sposób zapisu ciñgu wynikowego. Na przykäad zastosowanie znacznika MON spowoduje zwrócenie skrótów JAN lub FEB . Znacznik Mon wygeneruje wartoĈci Jan i Feb . Natomiast mon zwraca tekst jan lub feb . Podczas przeksztaäcania wartoĈci z formatu tekstowego wielkoĈè znaków nie jest istotna. Tabela 3. Znaczniki formatowania daty w bazie danych PostgreSQL Znacznik formatu AM lub PM A.M. lub P.M. BC lub AD B.C. lub A.D. CC D DAY, Day lub day DD DDD DY, Dy lub dy FM FX HH lub HH12 HH24 IW Opis Wyznacznik pory dnia (AM — przed poĥudniem; PM — po poĥudniu) Wyznacznik ery (BC — przed naszé eré; AC — nasza era) Wiek. Dostýpny jedynie w odniesieniu do danych wyjļciowych Dzieħ tygodnia Nazwa dnia tygodnia Numer dnia w miesiécu Numer dnia w roku Skrót nazwy dnia Eliminuje puste znaki z ciégu wyjļciowego. Dostýpny jedynie w odniesieniu do danych wyjļciowych Wprowadza wymóg dokĥadnej zgodnoļci danych wejļciowych z okreļlonym formatem Godzina dnia. Wartoļci od 1 do 12. Parametr HH12 jest stosowany jedynie w odniesieniu do danych wyjļciowych Godzina dnia. Wartoļci od 0 do 23 Tydzieħ standardu ISO w danym roku. Parametr stosowany jedynie w odniesieniu do danych wyjļciowych Konwersja daty i czasu — PostgreSQL _ 41 Tabela 3. Znaczniki formatowania daty w bazie danych PostgreSQL — ciñg dalszy Znacznik formatu IYY lub IY lub I IYYY J MI MM MON, Mon lub mon MONTH, Month lub month MS Q RM lub rm SP SS SSSS TH lub th TZ lub tz US W WW Y,YYY YYY lub YY lub Y YYYY Opis Ostatnie trzy, dwie cyfry lub jedna cyfra roku zapisanego w standardzie ISO. Parametr stosowany jedynie w odniesieniu do danych wyjļciowych Rok standardu ISO. Parametr stosowany jedynie w odniesieniu do danych wyjļciowych Data kalendarza juliaħskiego. 01.01.4712 p.n.e. jest uznawany za dzieħ o wartoļci 1 Minuty Numer miesiéca Skrót nazwy miesiéca Nazwa miesiéca Liczba milisekund Kwartaĥ roku. Parametr stosowany jedynie w odniesieniu do danych wyjļciowych Rzymska cyfra odpowiadajéca numerowi miesiéca Sufiks przeksztaĥcajécy wartoļë liczbowé na zapis sĥowny (niezaimplementowany) Sekundy Liczba sekund, które upĥynýĥy od póĥnocy Sufiks przeksztaĥcajécy liczby na wartoļci porzédkowe Nazwa strefy czasowej Liczba mikrosekund Numer tygodnia w miesiécu (od 1 do 5). Tydzieħ o wartoļci 1 rozpoczyna siý pierwszego dnia miesiéca i koħczy siódmego dnia miesiéca. Parametr stosowany jedynie w odniesieniu do danych wyjļciowych Numer tygodnia w roku (od 1 do 53). Parametr stosowany jedynie w odniesieniu do danych wyjļciowych Czterocyfrowa wartoļë roku ze znakiem przecinka Ostatnie trzy, dwie cyfry lub jedna cyfra roku Czterocyfrowa wartoļë roku 42 _ SQL. Leksykon kieszonkowy OstrzeŜenie Do funkcji TO_CHAR nie moĔna przekazywaè wartoĈci typu TIME. Za przeksztaäcanie znacznika czasowego systemu Unix na war- toĈè znacznika czasowego PostgreSQL odpowiada funkcja TO_ ´TIMESTAMP. SELECT TO_TIMESTAMP(0); Dolny zakres dat reprezentowanych przez znaczniki systemu Unix odpowiada dacie 1 stycznia 1970 r. UTC. Konwersja daty i czasu — SQL Server Oprogramowanie SQL Server udostöpnia cztery opcje konwersji wartoĈci daty i czasu. Zazwyczaj najlepszym rozwiñzaniem jest zastosowanie funkcji CONVERT, choè funkcje DATENAME i DATEPART oferujñ znacznie wiökszñ elastycznoĈè w przeksztaäcaniu dat na postaè tekstowñ. Funkcje CAST i SET DATEFORMAT Oprócz obsäugi standardowej funkcji CAST Ĉrodowisko SQL Server umoĔliwia równieĔ definiowanie formatu daty i czasu za pomocñ polecenia SET DATEFORMAT: SET DATEFORMAT dmy SELECT CAST( 1/12/2004 AS datetime) 2004-12-01 00:00:00.000 W przypadku dat zapisanych w formacie niebudzñcym wñtpliwo- Ĉci nie ma potrzeby modyfikowania ustawieþ DATEFORMAT3. 3 Aby wäñczyè obsäugö polskich nazw miesiöcy i dni, naleĔy zmieniè domyĈlne ustawienia jözykowe, np. za pomocñ instrukcji SET LANGUAGE polski — przyp. täum. Konwersja daty i czasu — SQL Server _ 43 SET DATEFORMAT dmy SELECT CAST( 12 styczeĪ 2004 AS datetime) 2004-01-12 00:00:00.000 W poleceniu SET DATEFORMAT moĔna umieszczaè nastöpujñce ar- gumenty: mdy, dmy, ymd, myd oraz dym. Funkcja CONVERT Ogólna konwersja wartoĈci daty i czasu jest realizowana przez funkcjö CONVERT. CONVERT(wartoŁð_daty[(dĪugoŁð)], wyrašenie[, style]) Drugi (opcjonalny) parametr — style — pozwala na okreĈlenie pierwotnego i docelowego formatu wartoĈci daty i czasu, zaleĔnie od tego, czy konwersja jest przeprowadzana z ciñgu tekstowego, czy na ciñg tekstowy. Lista obsäugiwanych znaczników stylu zo- staäa przedstawiona w tabeli 4. W nastöpujñcym przykäadzie zademonstrowano jeden ze sposobów konwersji daty i czasu na ciñg tekstowy i odwrotnie. SELECT CONVERT( VARCHAR, CONVERT(DATETIME, 15 styczeĪ 1961 , 106), 104) 15.01.1961 Aby wyznaczyè däugoĈè wynikowego ciñgu tekstowego, naleĔy okreĈliè wäaĈciwñ wartoĈè parametru dĪugoŁð. Natomiast w celu uzyskania dwucyfrowej wartoĈci roku moĔna odjñè wartoĈè 100 od liczby wyznaczajñcej styl formatowania. SELECT CONVERT(DATETIME, 1/1/50 , 1) 1950-01-01 00:00:00.000 SELECT CONVERT(DATETIME, 49.1.1 , 2) 2049-01-01 00:00:00.000 44 _ SQL. Leksykon kieszonkowy Tabela 4. Znaczniki stylu prezentacji daty i czasu w bazie danych SQL Server Znacznik stylu 0,100 101a 102a 103a 104a 105a 106a 107a 108a 9,109 110a 111a 112a 13,113 114a 20,120 21,121 126 130 131 Opis Ustawienie domyļlne: mies dd rrrr gg:miAM (lub PM) Format USA: mm/dd/rrrr Format ANSI: rrrr.mm.dd Format brytyjski i francuski: dd/mm/rrrr Format niemiecki: dd.mm.rrrr Format wĥoski: dd-mm-rrrr dd mies rrrr mies dd, rrrr gg:mm:ss Ustawienie domyļlne z uwzglýdnieniem milisekund: mies dd rrrr gg:mi:ss:mmmAM (lub PM) Format USA: mm-dd-rrrr Format japoħski: rrrr/mm/dd Format ISO: rrrrmmdd Domyļlne ustawienie europejskie z uwzglýdnieniem milisekund: dd mies rrrr gg:mm:ss:mmm gg:mi:ss:mmm z 24-godzinnym formatem czasu Podstawowy format ODBC z 24-godzinnym formatem czasu: rrrr-mm-dd gg:mi:ss Podstawowy format ODBC z 24-godzinnym formatem czasu i z uwzglýdnieniem milisekund: rrrr-mm-dd gg:mi:ss.mmm Format ISO8601, bez znaków spacji: rrrr-mm-ddTgg:mm:ss:mmm Format kuwejcki: dd mies rrrr gg:mi:ss:mmmAM Format kuwejcki: dd/mm/rrrr gg:mi:ss:mmmAM a Aby uzyskaè dwucyfrowy format roku, naleĔy odjñè 100 od podanej wartoĈci. W przypadku stosowania dwucyfrowych oznaczeþ roku baza da- nych SQL Server uznaje wartoĈè 2049 za wartoĈè maksymalnñ. Lata od 50 do 99 sñ interpretowane jako 1950 – 1999. Z kolei war- toĈci od 00 do 49 sñ uznawane za lata 2000 – 2049. Taki sposób interpretacji wartoĈci lat zostaä pokazany w prezentowanych Konwersja daty i czasu — SQL Server _ 45 przykäadach. NaleĔy jednak pamiötaè, Ĕe wartoĈè progowa roku moĔe zostaè zmieniona przez administratora bazy danych (za pomocñ opcji two digit year cutoff). Funkcje DATENAME i DATEPART Funkcje DATENAME i DATEPART säuĔñ do wyodröbniania okreĈlonych elementów daty i czasu. DATENAME(element_daty, data_czas) DATEPART(element_daty, data_czas) RóĔnica miödzy wymienionymi funkcjami polega na tym, Ĕe funk- cja DATENAME zwraca tekstowñ reprezentacjö wybranego elementu daty, natomiast funkcja DATEPART udostöpnia liczbowñ wartoĈè wskazanego elementu daty. Oto przykäad: SELECT DATENAME(month, GETDATE()), DATEPART(month, GETDATE()) marzec 3 Niektóre elementy, takie jak rok (year) i dzieþ (day), sñ repre- zentowane wartoĈciami liczbowymi niezaleĔnie od zastosowanej funkcji. Niemniej przeznaczeniem wspomnianych funkcji jest za- gwarantowanie dostarczenia wartoĈci tekstowych bñdĒ liczbo- wych. W przedstawionym przykäadzie obydwie funkcje zwracajñ wartoĈè roku, ale funkcja DATENAME udostöpnia ciñg tekstowy 2004 , natomiast funkcja DATEPART zwraca liczbö 2004: SELECT DATENAME(year, GETDATE()), DATEPART(year, GETDATE()) Jako säowa kluczowe oznaczajñce poszczególne skäadowe daty moĔna stosowaè nastöpujñce ciñgi tekstowe: year, yy, yyyy, quarter, qq, q, month, mm, m, dayofyear, dy, y, day, dd, d, week, wk, ww, weekday, dw, hour, hh, minute, mi, n, second, ss, s, millisecond, ms, microsecond, mcs, nanoseconds, ns, TZoffset, tz, ISO_Week, isowk, isoww. 46 _ SQL. Leksykon kieszonkowy Funkcje DAY, MONTH, YEAR Baza danych SQL Server udostöpnia równieĔ kilka funkcji umoĔ- liwiajñcych wyodröbnianie z dat wartoĈci okreĈlonych skäadowych. DAY(data_czas) MONTH(data_czas) YEAR(data_czas) Oto przykäad: SELECT DAY(CURRENT_TIMESTAMP), MONTH(CURRENT_TIMESTAMP), YEAR(CURRENT_TIMESTAMP) 11 3 2011 Funkcje operujéce datami i czasem — DB2 W bazie danych DB2 zostaäy udostöpnione elementy nazywane przez firmö IBM rejestrami specjalnymi, w których przechowywa- ne sñ informacje na temat daty i czasu. CURRENT DATE lub CURRENT_DATE Rejestr ten udostöpnia aktualnñ datö serwera. CURRENT TIME lub CURRENT_TIME Rejestr ten udostöpnia aktualny czas serwera. CURRENT TIMESTAMP lub CURRENT_TIMESTAMP Rejestr ten udostöpnia aktualnñ datö i czas serwera w for- mie znacznika czasowego. CURRENT TIMEZONE lub CURRENT_TIMEZONE Rejestr ten udostöpnia wartoĈè aktualnej strefy czasowej jako wartoĈè przesuniöcia, wyraĔonego za pomocñ godzin, minut i sekund róĔnicy w odniesieniu do czasu UTC. Dwie pierwsze cyfry odpowiadajñ wartoĈci godzin. Dwie kolejne okreĈlajñ minuty, a dwie ostatnie — sekundy. Funkcje operujéce datami i czasem — DB2 _ 47 Skorowidz A ABS(), 121 ADD, 182 ADD_MONTHS, 48, 52 ADDDATE, 49 ALL, 89, 156 ALTER SESSION, 50 ANSI_NULLS, 113 ARCHIVE, 176 AT TIME ZONE, 56 AVG(), 66 B BIGINT, 23, 28, 30 BIN(), 116 BLACKHOLE, 176 BOTH, 167 BULK COLLECT, 62 C CASE, 10, 60, 109 CAST, 11, 43 CEIL(), 121 CEILING(), 121 CENTURY, 55, 64 CHAR, 21, 28, 29, 114 218 _ SQL. Leksykon kieszonkowy COALESCE, 109 CONNECT BY, 12, 13, 14, 15 funkcje, 18 operatory klauzuli, 18 pötle, 17 sortowanie, 16 zäñczenia, 15 CONNECT BY NOCYCLE, 18 CONNECT_BY_ISCYCLE, 17, 18 CONNECT_BY_ISLEAF, 18 CONNECT_BY_ROOT, 18, 19 CONSTRAINT, 176 CONV(), 115 CONVERT, 43, 44, 120 COUNT(), 66 CREATE INDEX, 81 CREATE TABLE, 174, 175, 177, 178, 179 CSV, 176 CUBE, 73, 75 CURDATE(), 48 CURRENT_DATE, 47, 48, 50, 54 CURRENT_TIME, 47, 48, 54 CURRENT_TIMESTAMP, 47, 49, 51, 54, 57 CURRENT_TIMEZONE, 47 CURTIME(), 48 D dane, uaktualnianie, 203, 206 data i czas, 21 konwersja, 27, 30, 36, 40, 43 obcinanie wartoĈci, 51, 52, 55 pobieranie bieĔñcej wartoĈci, 50 rejestrowanie, 23 wyodröbnianie skäadowych, 31 zaokrñglanie wartoĈci, 51, 52, 55 DATE, 21, 22, 23, 24, 28, 30, 50, 53 DATE_ADD, 49 DATE_FORMAT, 34 DATE_PART, 56 DATE_SUB, 49 DATE_TRUNC, 55 DATEADD, 57 DATEDIFF, 58 DATEFORMAT, 43 DATENAME, 43, 46 DATEPART, 43, 46 DATETIME, 22, 24 DATETIME2, 24, 58 DATETIMEOFFSET, 24, 58 DAY, 28, 47, 48, 49, 55, 64 DAY_HOUR, 50 DAY_MINUTE, 50 DAY_SECOND, 50 DAYNAME, 28, 31 DAYOFMONTH, 31 DAYOFWEEK, 28, 31 DAYOFYEAR, 28, 31 DAYS, 28, 48 DBTIMEZONE, 51 DECADE, 55, 64 DECFLOAT, 25 DECIMAL, 26, 27, 28, 30, 114 DEFAULT, 83 definiowanie nazw kolumn, 151 DELETE, 59, 60, 61 DENSE_RANK(), 213 DISTINCT, 65, 156 DOUBLE PRECISION, 23 DOW, 64 DOY, 64 E ENGINE, 176 EPOCH, 64 EXAMPLE, 176 EXCEPT, 196, 200 EXCEPT ALL, 200, 201 EXP(), 121 EXTRACT, 56, 64 F FEDERATED, 176 FIRST, 89 FLOAT, 120 FLOOR(), 121 FORMAT(), 115 FROM, 63, 157, 158, 206 FROM_DAYS, 31, 32 FROM_UNIXTIME(), 32 funkcja agregujñca, 65 analityczna, 10 CAST, 11 liczbowa, 121 Skorowidz _ 219 funkcja matematyczna, 121 okienkowa, 10, 209 operujñca sekundami dnia, 33 tekstowa, 162 G GETDATE(), 57 GETUTCDATE(), 57 GRAPHIC, 28 GREATEST, 64 GROUP BY, 67, 69, 75 GROUP_ID(), 75 GROUPING SETS, 74, 75 GROUPING(), 75 GROUPING_ID(), 75 grupowanie wierszy, 65 H HAVING, 71 HEX(), 116 HOUR, 28, 31, 48, 49, 55, 64 HOUR_MINUTE, 50 HOUR_SECOND, 50 HOURS, 48 I IGNORE NULLS, 215 indeks, 82 tworzenie, 81 usuwanie, 82 INNODB, 176 INTEGER, 28 INTERSECT, 196, 202 220 _ SQL. Leksykon kieszonkowy INTERSECT ALL, 202 INTERVAL, 55 IS NULL, 10 ISOLATION LEVEL READ COMMITED, 190 ISOLATION LEVEL SERIALIZABLE, 190 J JULIAN_DAY, 28, 30 K kolejnoĈè przetwarzania instrukcji, 199 konwersja typów danych, 19 konwersja wartoĈci liczbowych, 113, 115, 116, 118, 120 konwersja dat, 22 L LAG, 214 LAST_DAY, 48, 53 LATERAL, 92 LEAD, 214 LEADING, 167 LEAST, 101 LEVEL, 19 LISTAGG, 68 literaäy, 101 daty i czasu, 104 interwaäów, 105 liczbowe, 104 tekstowe, 102 LN(), 122 LOCAL, 54 LOCALTIME, 54 LOCALTIMESTAMP, 51, 54 LOG(), 122 LOG10(), 122 LTRIM, 167, 168 M MAX(), 66 MEDIAN(), 66 MEMORY, 176 MERGE, 176 MICROSECOND, 28, 48 MICROSECONDS, 48, 55, 64 MIDNIGHT_SECONDS, 28 MILLENNIUM, 55, 64 MILLISECONDS, 55, 64 MIN(), 66 MINUS, 200 MINUTE, 28, 31, 48, 49, 55, 64 MINUTE_SECOND, 50 MINUTES, 48 MOD(), 122 MODIFY, 182 MONEY, 120 MONTH, 28, 31, 47, 48, 49, 55, 64 MONTHNAME, 28, 31 MONTHS, 48 MONTHS_BETWEEN, 48, 53 MYISAM, 176 N NAME, 189 NANVL(), 122 nazwy w uniach, 199 NEXT_DAY, 48, 53 NLS_DATE_FORMAT, 40 NLS_SESSION_PARAMETERS, 40, 53 NLS_TIMESTAMP_FORMAT, 40 NLS_TIMESTAMP_TZ_ ´FORMAT, 40 NOCYCLE, 17 NOW(), 49, 54 NTH_VALUE, 215 NULL, 108, 109, 110, 111, 112 NUMBER, 26 NUMTODSINTERVAL, 36 NUMTOYMINTERVAL, 36 O OCT(), 116 OLAP, 124 ORDER BY, 59, 60, 160, 198, 213, 215 OUTPUT, 87 P PARTITION BY, 215 PIVOT, 128 pobieranie danych, 150 podzapytania, 169, 170 porównywanie wartoĈci, 213 predykaty, 133 BETWEEN, 136 EXISTS, 134 IN, 135 LIKE, 136 NOT LIKE, 136 PRIOR, 13, 18, 19 Skorowidz _ 221 Q QUARTER, 28, 31, 64 R RANK(), 212 READ ONLY, 189 READ WRITE, 190 REAL, 120 REMAINDER(), 122 ROLLUP, 71, 75 ROUND, 48, 123 ROUND_CEILING, 25 ROUND_DOWN, 26 ROUND_FLOOR, 26 ROUND_HALF_EVEN, 26 ROUND_HALF_UP, 26 ROW_NUMBER(), 212 RTRIM, 167 S scalanie danych, 106 SEARCH BREADTH FIRST, 79 SEARCH DEPTH FIRST, 79 SEC_TO_TIME(), 33 SECOND, 28, 31, 48, 49, 55, 64 SECONDS, 48 SELECT, 151, 155 SESSIONTIMEZONE, 51 SET DATEFORMAT, 43, 44 SET TRANSACTION, 188 SIGN(), 123 säowo kluczowe NOCYCLE, 17 PRIOR, 13 222 _ SQL. Leksykon kieszonkowy SMALLDATETIME, 24 SMALLMONEY, 120 sortowanie rozszerzajñce, 78 w gäñb, 79 wszerz, 79 zagäöbiajñce, 78 START TRANSACTION, 188 START WITH, 12 STDDEV(), 66 SUBDATE, 49 SUM(), 66 sumowanie wierszy, 65 SWITCHOFFSET, 58 symbol skrótu, 151 SYS_CONNECT_BY_PATH, 19 SYSDATE, 49, 50, 51 SYSDATETIME(), 57 SYSDATETIMEOFFSET(), 57 SYSTIMESTAMP, 51 SYSUTCDATETIME, 57 T tabela modyfikacja, 180, 182, 183, 184, 185 tworzenie, 174, 175, 177, 178, 179 usuwanie, 179 tekst wyodröbnianie fragmentu, 164 wyszukiwanie, 162 zamiana, 164 test IS NULL, 10 TEXT, 20 TIME, 21, 22, 23, 24, 28, 43 TIME [WITH[OUT] TIME ZONE], 23 TIME_FORMAT, 34 TIME_TO_SEC(), 33 TIMEOFDAY(), 55 TIMESTAMP, 21, 22, 23, 24, 28, 51, 53, 55 TIMESTAMP WITH LOCAL TIME ZONE, 22 TIMESTAMP WITH TIME ZONE, 22, 51 TIMESTAMP_FORMAT, 28 TIMESTAMP_ISO, 28 TIMEZONE, 56, 64 TIMEZONE_ABBR, 64 TIMEZONE_HOUR, 64 TIMEZONE_MINUTE, 64 TIMEZONE_REGION, 64 TO_CHAR, 27, 28, 36, 40, 43 TO_DATE, 27, 28, 36, 40 TO_DAYS, 31, 32 TO_DSINTERVAL, 36 TO_TIMESTAMP, 36, 40 TO_TIMESTAMP_TZ, 36 TO_YMINTERVAL, 36 TODATETIMEOFFSET, 58 TRAILING, 167 transakcja, 186 koþczenie, 192 przerwanie, 194, 195 rozpoczynanie, 188, 189, 190, 191 zarzñdzanie, 186 transpozycja odwrotna, 129, 131, 132 tabel, 124, 125, 128 TRIM, 167 TRUNC, 48, 123 tryb automatycznego zatwierdzania, 187 typ danych ciñgi znaków, 20 data i czas, 21 konwersja, 19 liczby caäkowite, 20 liczby rzeczywiste, 25 w uniach, 199 U uaktualnianie proste, 203 danych, 203, 206 unie, 196 UNION, 196, 197 UNION ALL, 196, 197 UNIX_TIMESTAMP, 49 UNIX_TIMESTAMP(), 32 UPDATE, 206 USE ROLLBACK SEGMENT, 190 USING, 93 usuwanie danych, 59, 61 wierszy, 60 V VALUES, 159 VARCHAR, 20, 28 VARCHAR_FORMAT, 29 VARCHAR2, 21 VARGRAPHIC, 29 VARIABLE, 87 VARIANCE(), 66 Skorowidz _ 223 W Z warunki TRUE-FALSE, 10 warunkowe wprowadzanie danych, 88 WEEK, 29, 31, 55, 64 WEEK_ISO, 29 WEEKDAY, 31 WHERE, 15, 159 WITH, 12 WITH CUBE, 73 WITH LOCAL TIME ZONE, 22 WITH TIME ZONE, 22 wprowadzanie danych, 83, 87 pojedynczych wierszy, 83 wielu wierszy, 84 wyraĔenia CASE, 10 wyraĔenia regularne, 138, 142, 150 wyszukiwanie tekstu, 162 Y YEAR, 29, 31, 47, 48, 49, 55, 64 YEAR_MONTH, 50 YEARS, 48 YEARWEEK, 31 zamiana tekstu, 164 zapisywanie wyraĔeþ, 152 zapytania hierarchiczne, 76 rekurencyjne, 77, 137 zäñczanie krzyĔowe, 91, 92 naturalne, 95 tabel, 89 wewnötrzne, 92 wyznaczane za pomocñ nierównoĈci, 96 zewnötrzne lewostronne, 97 zewnötrzne prawostronne, 99 zmniejszanie liczby kolumn, 69 znacznik czasowy Unix, 32 znak gwiazdki, 151 zwracanie uaktualnionych danych, 207, 208 usuwanych wierszy, 62, 63 wprowadzanych wierszy, 87 wprowadzonych wartoĈci, 86 224 _ SQL. Leksykon kieszonkowy
Pobierz darmowy fragment (pdf)

Gdzie kupić całą publikację:

SQL. Leksykon kieszonkowy. Wydanie II
Autor:

Opinie na temat publikacji:


Inne popularne pozycje z tej kategorii:


Czytaj również:


Prowadzisz stronę lub blog? Wstaw link do fragmentu tej książki i współpracuj z Cyfroteką: