POUZE NYNÍ: Získej až 80 % extra kreditů ZDARMA na náš interaktivní e-learning. Zjistit více.
NOVINKA: Staň se datovým analytikem od 0 Kč a získej jistotu práce, lepší plat a nové kariérní možnosti. 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
Nejnovější komentáře jsou na konci poslední stránky.
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
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. :)

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

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?

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

Ano, toto mám také stejně.

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
Avatar
Odpovídá na Matěj Kadlec
Radka Tajnerová:19.6.2021 9:38

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

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

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.

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. :(

Nejnovější komentáře jsou na konci poslední stránky.
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.