abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×

    včera 18:33 | Nová verze

    Operační systém MidnightBSD, fork FreeBSD optimalizovaný pro desktop s prostředím Xfce, byl vydán ve verzi 3.0. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 1
    včera 18:22 | IT novinky

    Na GOG.com běží Spring Sale. Při té příležitosti lze získat zdarma počítačovou hru Neurodeck: Psychological Deckbuilder (ProtonDB).

    Ladislav Hagara | Komentářů: 0
    25.3. 12:33 | Komunita

    Alex Ellis upozornil 15. března, že firma Docker se chystala zrušit bezplatný hosting open-source projektů na Docker Hubu. Po vlně odporu se představitelé firmy omluvili a posléze byl původní záměr odvolán.

    Fluttershy, yay! | Komentářů: 28
    25.3. 07:00 | IT novinky

    Ve věku 94 let zemřel Gordon Moore, mj. spoluzakladatel společnosti Intel a autor Moorova zákona.

    Ladislav Hagara | Komentářů: 1
    24.3. 17:11 | Nová verze

    Mercurial (Wikipedie), software pro SCM (Source Code Management), byl vydán ve verzi 6.4. Přehled novinek v poznámkách k vydání. Ve dnech 5. až 7. dubna proběhne konference Mercurial Paris.

    Ladislav Hagara | Komentářů: 0
    24.3. 11:55 | IT novinky

    Byly rozdány Ceny Velkého bratra (Big Brother Awards) za rok 2022 pro největší slídily pořádané nevládní organizací Iuridicum Remedium. Dlouhodobý slídil: Microsoft. Firemní slídil: Seznam. Úřední slídil: Nejvyšší správní soud. Výrok Velkého bratra: Marian Jurečka. Pozitivní cena: NoLog.

    Ladislav Hagara | Komentářů: 11
    24.3. 11:11 | Zajímavý projekt

    Byla představena online vzdělávací platforma Ada Computer Science pro učitele, studenty a kohokoli, kdo se zajímá o informatiku. Stojí za ní Raspberry Pi Foundation a Univerzita v Cambridgi.

    Ladislav Hagara | Komentářů: 0
    24.3. 09:11 | Bezpečnostní upozornění

    GitHub má nový RSA SSH klíč. Předchozí soukromý klíč byl krátce vystaven na GitHubu.

    Ladislav Hagara | Komentářů: 0
    24.3. 08:55 | IT novinky

    Společnost Framework Computer představila (YouTube) nové modulární notebooky: Laptop 13 s Intel Core nebo AMD Ryzen a Laptop 16 (YouTube).

    Ladislav Hagara | Komentářů: 0
    23.3. 19:33 | Nová verze

    Bylo vydáno Ubuntu 20.04.6 LTS, tj. šesté opravné vydání Ubuntu 20.04 LTS s kódovým názvem Focal Fossa. Přehled novinek v poznámkách k vydání a v přehledu změn.

    Ladislav Hagara | Komentářů: 2
    Používáte WSL (Windows Subsystem for Linux)?
     (74%)
     (12%)
     (4%)
     (10%)
    Celkem 327 hlasů
     Komentářů: 4, poslední 24.3. 06:42
    Rozcestník
    Štítky: není přiřazen žádný štítek


    Dotaz: select from data type date

    11.11.2009 20:04 Milan
    select from data type date
    Přečteno: 768×
    Ahoj, trapim se se selectem ze sloupce, ktery je data type date a jmenuje se CREATE_DAT a ma tam data zobrazena napr. takto 24.8.2009 22:02:08

    Takze, potrebuju select radku jehoz datum je napr. 10.6.2009 a muj select vypada nasledovne :

    select * from tabulka where CREATE_DAT like '10.6.2009%' ;

    a nic nevyleze, tak delam neco spatne.

    Muzete mi poradit?

    Diky,

    Milan


    Řešení dotazu:


    Odpovědi

    11.11.2009 20:45 ZAH | skóre: 43 | blog: ZAH
    Rozbalit Rozbalit vše Re: select from data type date
    Používáš textové porovnání na datum, to není dobré i kdyby to fungovalo. Třeba pro postgre SQL by to bylo .. where date_trunc('day', CREATE_DAT) = TIMESTAMP '2009-06-10' nebo pomocí EXTRACT(field FROM source)
    11.11.2009 20:46 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: select from data type date

    Přesně stejný dotaz už tu před nedávnem byl. Operátor like je určen pro řetězcové operátory, není moc dobrý nápad zkoušet ho používat pro datum. Použijte např.

      select * from TABULKA where CREATE_DAT>='10.6.2009' and CREATE_DAT<'11.6.2009'
    
    11.11.2009 20:58 Milan
    Rozbalit Rozbalit vše Re: select from data type date
    Ahoj, dotaz je nad Oracle 11g. Vyzkousel jsem obe varianty, ale vratilo mi to prazdny radek a pritom tam ta data jsou. Milan
    11.11.2009 21:00 Milan
    Rozbalit Rozbalit vše Re: select from data type date
    Jeste zkusim jineho klienta. Pouzivam zabu. Milan
    11.11.2009 21:02 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: select from data type date
    Možná je potřeba použít jiný formát data, např. '2009-06-10'.
    11.11.2009 21:44 Milan
    Rozbalit Rozbalit vše Re: select from data type date
    Ahoj, moje chyba. Uz to funguje. Dal jsem CREATE_DAT>='10.6.2009' and CREATE_DAT<'10.6.2009' misto CREATE_DAT>='10.6.2009' and CREATE_DAT<'11.6.2009' Diky za pomoc, Milan

    Marián Oravec avatar 12.11.2009 08:53 Marián Oravec | skóre: 22 | Nitra
    Rozbalit Rozbalit vše Re: select from data type date
    Nie je vhodné "hádať" formát, pretože je závislý od nastaveného NLS_LANG.

    Najvhodnejšie je použiť funkcie trunc() a to_date():

    SELECT * FROM table t WHERE trunc(t.datum, 'dd') = to_date('12.11.2009', 'dd.mm.yyyy');

    Mám rád elektro, ale vypočujem si aj iné...
    12.11.2009 09:48 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: select from data type date
    To není tak úplně pravda, protože jakmile tu podmínku zapíšete takhle, tak optimalizátoru výrazně přiděláte práci a dost možná úplně znemožníte použití indexu.
    Marián Oravec avatar 12.11.2009 12:28 Marián Oravec | skóre: 22 | Nitra
    Rozbalit Rozbalit vše Re: select from data type date
    Chcel som len upozorniť na to, že dátum by sa mal zadávať cez funkciu (napr. to_date()).

    V každom prípade máte pravdu, v horeuvedenom prípade sa index nevyužije. Lepšie je to použiť takto:

    SELECT * FROM table t WHERE t.datum >= to_date('12.11.2009', 'dd.mm.yyyy') AND t.datum < to_date('13.11.2009', 'dd.mm.yyyy');

    Mám rád elektro, ale vypočujem si aj iné...
    12.11.2009 14:03 Ivan
    Rozbalit Rozbalit vše Re: select from data type date
    Presne tak. Funkce to_date by se mela pouzit VZDY kdyz porovnavate/konvertujete string a date. Jinak muzete zazit velice neprijemna prekvapeni. To ze to zrovna nahodou funguje i bez te funkce neni zadny argument.
    14.11.2009 20:40 kuka
    Rozbalit Rozbalit vše Re: select from data type date
    No ono to nefunguje "nahodou", ale podle jasnych pravidel. Pokud bych si napriklad otevrel sveho oblibeneho SQL klienta a nastavil si spravne NLS_LANG, tak si muzu v ad-hoc dotazech neustale vypisovani to_date usetrit a nicemu to nevadi. Ale pokud to ma byt skript nebo kod v package, tak tam samozrejme by se to_date melo pouzivat.
    15.11.2009 10:52 Ivan
    Rozbalit Rozbalit vše Re: select from data type date
    Ta pravidla mohou byt dost zakerna. Napr. 10g ignoruje nastaveni NLS_DATE_FORMAT pokud nemate nestaveny NLS_LANG. Na 9i to fungovalo. V ad-hoc dotazech to nevadi, ale treba pres OCI se vam muze povest vlozit datum, ktere nema korektni format. Cteni radky s takovym datumem skonci s nejakou silenou chybou.
    default avatar 14.11.2009 20:30 default | skóre: 22 | Madrid
    Rozbalit Rozbalit vše Re: select from data type date
    SELECT
        *
    FROM
        tabulka tab1
    WHERE
        TRUNC(tab1.create_dat) = TO_DATE('2009-08-24', 'YYYY-MM-DD')
    /
    

    Výchozí ořezání je na den — odstranění času.

    Pro zlepšení výkonu pak ještě:

    CREATE INDEX idx_tabulka_cd_t ON tabulka (TRUNC(create_dat))
    /
    

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.