मुझे आपके सिंटैक्स में समस्या नहीं दिख रही है। यह मेरे लिए काम करता है:
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>