sql >> Databasteknik >  >> RDS >> Oracle

Hur infogar jag ett BC-datum i Oracle?

Jag ser inte problemet med din syntax. Det fungerar för mig:

Connected to Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 
Connected as xxx

SQL> CREATE TABLE tt (d DATE);

Table created

SQL> INSERT INTO tt VALUES (to_date('-4700/01/01','syyyy/mm/dd'));

1 row inserted

SQL> SELECT to_char(d, 'MM/DD/YYYY BC') FROM tt;

TO_CHAR(D,'MM/DD/YYYYBC')
-------------------------
01/01/4700 BC

SQL>

Vad är det exakta problemet du har? Vilken version av Oracle?

Du måste använda formatspecifikationen BC eller SYYYY på utdata, annars får du felaktiga datum:

SQL> select * from tt;

D
-----------
00-h:mm:ss

SQL> 


  1. (+) =operator i oracle sql i where-sats

  2. Sammanfoga InnoDB-tabeller med MyISAM-tabeller

  3. Jooq LocalDateTime-fält använder systemets tidszon istället för sessionens tidszon

  4. hur kör jag en funktion från TOAD för Oracle och binder resultatet till ett datanät