Oracle
 sql >> база данни >  >> RDS >> Oracle

Как да вмъкна дата преди новата ера в Oracle?

Не виждам проблема в твоя синтаксис. При мен работи:

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>

Какъв точно е проблемът, който имате? Каква версия на Oracle?

Трябва да използвате спецификатора на формат BC или SYYYY при извеждане, в противен случай ще получите неправилни дати:

SQL> select * from tt;

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

SQL> 


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Конкретна последователност за обект

  2. ORACLE 12.2.01 избор на колони от различни таблици с подобни имена --> използван вътрешен идентификатор на колона

  3. Условие за присъединяване към Oracle с Топ 1

  4. Формат на датата във формат asp към excel

  5. Как да изпишете годината при форматиране на дата в Oracle