sql >> Database teknologi >  >> RDS >> Oracle

Oracle dato ser ud til at være lig

Skift datoformatet til DD-MON-YYYY HH24:MI:SS og du vil sandsynligvis se forskellen i, at datoerne har forskellige århundreder.

Brug RR for at formatere året kan skjule, at en dato er 1911 og den anden er 2011

Prøv:

SELECT TO_CHAR( DATE '2011-01-01', 'RR-MM-DD' ),
       TO_CHAR( DATE '1911-01-01', 'RR-MM-DD' )
FROM   DUAL

Begge udsender det samme, selvom de er forskellige datoer og vil ikke blive grupperet sammen.

Hvis datoerne stadig er de samme, så kig efter yderligere mellemrum eller andre skjulte tegn i strengene; du kan bruge LENGTH() for at kontrollere størrelsen på strengene eller DUMP() for at få byteværdierne for indholdet:

select id_incasso,
       id_fattura,
       LENGTH( id_fattura ) AS f_length,
       id_piano_rate,
       LENGTH( id_piano_rate ) AS pr_length,
       TO_CHAR( data_esecuzione, 'YYYY-MM-DD HH24:MI:SS' ) AS data_esecuzione
from   incasso
where  id_incasso = 'TO_20110521258225'


  1. MySQL - Hvordan kan jeg opdatere en tabel med værdier fra en anden tabel?

  2. Hvordan kontrolleres kolonnen er virtuel i Oracle?

  3. Hent det sidst indsatte række-id (med SQL-sætning)

  4. Flere databaseforbindelser i Rails