IT rekvalifikácia. Seniorní programátori zarábajú až 6 000 €/mesiac a rekvalifikácia je prvým krokom. Zisti, ako na to!

Diskusia – 6. diel - Oracle krok za krokom: Výber dát (vyhľadávanie)

Späť

Upozorňujeme, že diskusie pod našimi online kurzami sú nemoderované a primárne slúžia na získavanie spätnej väzby pre budúce vylepšenie kurzov. Pre študentov našich rekvalifikačných kurzov ponúkame možnosť priameho kontaktu s lektormi a študijným referentom pre osobné konzultácie a podporu v rámci ich štúdia. Toto je exkluzívna služba, ktorá zaisťuje kvalitnú a cielenú pomoc v prípade akýchkoľvek otázok alebo projektov.

Komentáre
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.

Odpovedať
5.4.2021 21:35
Neni dulezite mnoho vedet a znat. Dulezite je vedet, co je treba.
Avatar
Matěj Kadlec
Tvůrce
Avatar
Odpovedá 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. :)

 
Odpovedať
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

 
Odpovedať
18.6.2021 19:58
Avatar
Matěj Kadlec
Tvůrce
Avatar
Odpovedá na Radka Tajnerová
Matěj Kadlec:19.6.2021 9:12

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

 
Odpovedať
19.6.2021 9:12
Avatar
Odpovedá na Matěj Kadlec
Radka Tajnerová:19.6.2021 9:20

Ano, toto mám také stejně.

 
Odpovedať
19.6.2021 9:20
Avatar
Matěj Kadlec
Tvůrce
Avatar
Odpovedá 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.

Editované 19.6.2021 9:30
 
Odpovedať
19.6.2021 9:28
Avatar
Odpovedá na Matěj Kadlec
Radka Tajnerová:19.6.2021 9:38

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

 
Odpovedať
19.6.2021 9:38
Avatar
Odpovedá 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

 
Odpovedať
20.6.2021 12:08
Avatar
Matěj Kadlec
Tvůrce
Avatar
Odpovedá 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.

 
Odpovedať
21.6.2021 13:41
Avatar
Odpovedá 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. :(

 
Odpovedať
21.6.2021 13:49
Robíme čo je v našich silách, aby bola tunajšia diskusia čo najkvalitnejšia. Preto do nej tiež môžu prispievať len registrovaní členovia. Pre zapojenie sa do diskusie sa zaloguj. Ak ešte nemáš účet, zaregistruj sa, je to zadarmo.

Zatiaľ nikto nevložil komentár - buď prvý!