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

JAK NAČÍST DATA MEZI 2 DATA V ORACLE SQL DEVELOPER

Datum nemá formát – je interně uloženo do databáze jako 7bajtové (představující rok, měsíc, den, hodinu, minutu a sekundu) a není to dokud jakékoli uživatelské rozhraní, které používáte (tj. SQL/Plus, SQL Developer, Java atd.), se pokusí zobrazit vám, uživateli, a převede to do něčeho, co byste považovali za smysluplné (obvykle řetězec), že datum má formát.

Chcete-li svůj dotaz opravit, stačí zadat řetězec data do jednoduchých uvozovek a použít YY aby odpovídal 2místnému formátu roku (jinak bude Oracle předpokládat, že 17 ve formátu YYYY je rok 0017 a století nebude takové, jaké očekáváte ):

select sum(TOTAL_AMOUNT)
from   table a
where  trn_date between TO_DATE('01-APR-17', 'DD-MON-YY')
                    AND TO_DATE('31-MAR-17', 'DD-MON-YY'); 

Můžete však také použít datové literály (a přeskočit nutnost odpovídat modelu formátu data):

select sum(TOTAL_AMOUNT)
from   table a
where  trn_date between DATE '2017-04-01'
                    AND DATE '2017-05-31'; 


  1. SQL - Vložení formuláře do databáze

  2. Existuje nějaký logický důvod mít jiný tabulkový prostor pro indexy?

  3. MySQL dotaz - indentiyfing dat pomocí URL jmen, kde jsou data organizována do hierarchie

  4. Uložená procedura-SQL Developer