sql >> Databáze >  >> RDS >> Oracle

Dif. mezi daty - SQL plus

Název otázky obsahuje „SQL plus“, což pro mě znamená Oracle.

Oracle nemá funkci DATEDIFF. Nejjednodušší metodou, jak určit počet dní mezi 2 daty pomocí Oracle, je odečíst jedno datum od druhého.

Select item, datebought, datesold, datesold-datebought as days from auctions;

Oracle ukládá informace o datu i čase v datovém poli. Je běžnou praxí ukládat data zkrácená na půlnoc v polích data v Oracle, pokud vás čas nezajímá.

Pokud jsou vaše data již zkrácena na půlnoc, bude vypočítaná hodnota celé číslo.

Pokud však vaše uložená data obsahují časové informace, možná budete chtít hodnotu zkrátit, abyste získali integrální hodnotu. Mám podezření, že byste chtěli zkrátit každé datum před odečtením tak, že pokud se koupí v jeden den, pak se kdykoli další den bude počítat jako 1 den. Oracle zkrátí data na půlnoc.

select item, datebought, datesold, trunc(datesold)-trunc(datebought) as days from auctions;

Souhlasím s WarrenT, že vaše tabulka by neměla mít sloupec denormalizovaných dnů.



  1. PSQLException:Název sloupce clazz_ nebyl v této sadě výsledků nalezen

  2. Ukládání souboru do databáze na rozdíl od systému souborů?

  3. Průvodce importem dat tabulky pracovního stolu MySQL je extrémně pomalý

  4. Vynutit instalaci Postgresu s kódováním UTF8, nikoli LATIN1?