NOVINKA: Získej 40 hodin praktických dovedností s AI – ZDARMA ke každému akreditovanému kurzu!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze – Lekce 6 - Oracle krok za krokem: Výběr dat (vyhledávání)

Zpět

Upozorňujeme, že diskuze pod našimi online kurzy jsou nemoderované a primárně slouží k získávání zpětné vazby pro budoucí vylepšení kurzů. Pro studenty našich rekvalifikačních kurzů nabízíme možnost přímého kontaktu s lektory a studijním referentem pro osobní konzultace a podporu v rámci jejich studia. Toto je exkluzivní služba, která zajišťuje kvalitní a cílenou pomoc v případě jakýchkoli dotazů nebo projektů.

Komentáře
Avatar
mixxy
Člen
Avatar
mixxy:5.4.2021 21:35

Ahoj,
malé doplnění ohledné té prace s datem. Je vždycky leší si jej přeformátovat na potřebný výstup, tj. selekt by měl vypadat takhle:
SELECT * FROM uzivatele WHERE to_date(datum_na­rozeni,'dd.mm­.yyyy') >= '1.1.1960' AND pocet_clanku > 5;

U tohoto dema je to OK protože insertuješ konkrétní hodnoty, jinak ale rozsah sloupce "date" je dle lokalizace databáze v různých formátech (např. mm-dd-yyyy hh24:mi:ss, dd mon yyyy hh24:mi:ss, ...) . Pokud bychom přišli k neznámé databázi, né vždy by ten selekt musel vrátit správné hodnoty. Další možností je použít: alter session set nls_date_format='dd­.mm.yyyy'; a pak by ten tvůj selekt jel v poho.

Odpovědět
5.4.2021 21:35
Neni dulezite mnoho vedet a znat. Dulezite je vedet, co je treba.
Avatar
Matěj Kadlec
Tvůrce
Avatar
Odpovídá na mixxy
Matěj Kadlec:6.4.2021 0:04

Ahoj,
máš pravdu, na to jsem při psaní nepomyslel, doplním to do článku. :)

 
Odpovědět
6.4.2021 0:04
Avatar
Radka Tajnerová:18.6.2021 19:58

Ahoj, zkoušela jsem vyhledávat
SELECT * FROM uzivatele WHERE to_date(datum_na­rozeni,'dd.mm­.yyyy') >= '1.1.1960' AND pocet_clanku > 5;
ale nevrátí mi to žádné záznamy. Pokud se však dotážu bez převodu formátu
select * from uzivatele where datum_narozeni >= '1.1.1960' and pocet_clanku > 5;
vrátí mi to přesně stejné výsledky jako máš ty v příkladu, v čem je tedy u mě chyba, že ten tvůj select nic nenajde? Data mám připravena přesně podle návodu - jen jsem nemusela upravovat přístupová práva. Díky za info

 
Odpovědět
18.6.2021 19:58
Avatar
Matěj Kadlec
Tvůrce
Avatar
Odpovídá na Radka Tajnerová
Matěj Kadlec:19.6.2021 9:12

Ahoj, máš preference v SQL developeru nastavené stejně, jako v tomto článku?

 
Odpovědět
19.6.2021 9:12
Avatar
Odpovídá na Matěj Kadlec
Radka Tajnerová:19.6.2021 9:20

Ano, toto mám také stejně.

 
Odpovědět
19.6.2021 9:20
Avatar
Matěj Kadlec
Tvůrce
Avatar
Odpovídá na Radka Tajnerová
Matěj Kadlec:19.6.2021 9:28

Tak jsem si to vyzkoušel u mě, a v článku je chyba, mělo by tam být

SELECT * FROM uzivatele
WHERE to_date(datum_narozeni,'dd.mm.yy') >= '1.1.1960' AND pocet_clanku > 5;

Tedy díky za nahlášení chyby, článek ihned upravím.

Editováno 19.6.2021 9:30
 
Odpovědět
19.6.2021 9:28
Avatar
Odpovídá na Matěj Kadlec
Radka Tajnerová:19.6.2021 9:38

Není zač :) Já děkuji za kontrolu.

 
Odpovědět
19.6.2021 9:38
Avatar
Odpovídá na Matěj Kadlec
Radka Tajnerová:20.6.2021 12:08

Ahoj, ještě jedna připomínka, i když upravím použitý select, tak to nehledá správně ve výsledku se zobrazují i uživatelé narození před rokem 1960 - přikládám

 
Odpovědět
20.6.2021 12:08
Avatar
Matěj Kadlec
Tvůrce
Avatar
Odpovídá na Radka Tajnerová
Matěj Kadlec:21.6.2021 13:41

Ahoj, omlouvám se, nejspíš tam má tedy být '1.1.60', ale nemám možnost to teď ověřit.

 
Odpovědět
21.6.2021 13:41
Avatar
Odpovídá na Matěj Kadlec
Radka Tajnerová:21.6.2021 13:49

To jsem včera taky zkoušela a nepomohlo to. Zobrazují se i ročníky pod 1960. :(

 
Odpovědět
21.6.2021 13:49
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 10 zpráv z 13.