Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Różn. między datami - SQL plus

Tytuł pytania zawiera „SQL plus”, co oznacza dla mnie Oracle.

Oracle nie ma funkcji DATEDIFF. Najprostszą metodą określenia liczby dni między 2 datami za pomocą Oracle jest odjęcie jednej daty od drugiej.

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

Oracle przechowuje zarówno informacje o dacie, jak i godzinie w polu daty. Powszechną praktyką jest przechowywanie dat skróconych do północy w polach dat w Oracle, jeśli nie zależy Ci na czasie.

Jeśli daty są już skrócone do północy, obliczona wartość będzie liczbą całkowitą.

Ale jeśli przechowywane daty zawierają informacje o czasie, możesz skrócić wartość, aby uzyskać wartość całkowitą. Podejrzewam, że chciałbyś skrócić każdą datę przed odjęciem, tak że jeśli kupisz jeden dzień, to każdy kolejny dzień będzie liczony jako 1 dzień. Oracle skraca daty do północy.

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

Zgadzam się z WarrenT, że w Twojej tabeli nie powinna znajdować się kolumna z denormalizowanymi dniami.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Efektywność kwartalnego naliczania stanu zatrudnienia

  2. Jak rozwiązać ORA-29280:nieprawidłowa ścieżka do katalogu

  3. Jak znaleźć nazwę wiązania w Oracle?

  4. jak używać wpisów tns ze sterownikami macromedia dla Oracle

  5. Funkcja TANH() w Oracle