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í
×
    dnes 18:11 | Nová verze

    Programovací jazyk Python byl vydán v nové major verzi 3.14.0. Podrobný přehled novinek v aktualizované dokumentaci.

    Ladislav Hagara | Komentářů: 2
    dnes 16:33 | IT novinky

    Bylo oznámeno, že Qualcomm kupuje Arduino. Současně byla představena nová deska Arduino UNO Q se dvěma čipy: MPU Qualcomm Dragonwing QRB2210, na kterém může běžet Linux, a MCU STM32U585 a vývojové prostředí Arduino App Lab.

    Ladislav Hagara | Komentářů: 1
    dnes 15:55 | Nová verze

    Multiplatformní open source voxelový herní engine Luanti byl vydán ve verzi 5.14.0. Podrobný přehled novinek v changelogu. Původně se jedná o Minecraftem inspirovaný Minetest v říjnu loňského roku přejmenovaný na Luanti.

    Ladislav Hagara | Komentářů: 0
    dnes 13:22 | Nová verze

    Byla vydána nová stabilní verze 6.10 (YouTube) multiplatformního frameworku a GUI toolkitu Qt. Podrobný přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    včera 23:55 | Komunita

    Ubuntu 26.04 LTS bude (𝕏) Resolute Raccoon (rezolutní mýval).

    Ladislav Hagara | Komentářů: 2
    včera 21:00 | Nová verze

    Netwide Assembler (NASM) byl vydán v nové major verzi 3.00. Přehled novinek v poznámkách k vydání v aktualizované dokumentaci.

    Ladislav Hagara | Komentářů: 0
    včera 20:11 | Komunita

    Linuxová distribuce Frugalware (Wikipedie) ke konci roku 2025 oficiálně končí.

    Ladislav Hagara | Komentářů: 0
    včera 17:22 | Nová verze

    Byla vydána nová verze 3.0.6 svobodné aplikace pro úpravu a vytváření rastrové grafiky GIMP (GNU Image Manipulation Program). Přehled novinek v oznámení o vydání a v souboru NEWS na GitLabu. Nový GIMP bude brzy k dispozici také na Flathubu.

    Ladislav Hagara | Komentářů: 0
    včera 16:11 | IT novinky

    Americký výrobce čipů AMD uzavřel s americkou společností OpenAI smlouvu na několikaleté dodávky vyspělých mikročipů pro umělou inteligenci (AI). Součástí dohody je i předkupní právo OpenAI na přibližně desetiprocentní podíl v AMD.

    Ladislav Hagara | Komentářů: 1
    včera 12:22 | Nová verze Ladislav Hagara | Komentářů: 0
    Jaké řešení používáte k vývoji / práci?
     (39%)
     (46%)
     (15%)
     (17%)
     (21%)
     (15%)
     (18%)
     (16%)
     (16%)
    Celkem 190 hlasů
     Komentářů: 12, poslední 4.10. 20:35
    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: 814×
    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: 71 | 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: 71 | 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: 71 | 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.