A few basic notes on Oracle Database Administration.

Saturday, January 26, 2008

Getting Biblical

My curiosity raised by Laurent Schneider's notes about maximum and minimum dates in Oracle, I learned something about the time of Christ.

Apparently, the day before Jan 1, 0 AD is Dec 31, 1 BC.
I didn't expect it. By the way, biblical historians say that this change of dates occurred neither at the birth nor the death, but when he was something like 4 years old.

Anyway, here is what the Oracle of Redwood City had to say on the topic.


alter session set nls_date_format='FMDay ddth Month YYYY B.C.';

SQL> select trunc(date '-0-1-1','yyyy') from dual;

TRUNC(DATE'-0-1-1','YYYY')
----------------------------------
Thursday 1st January 0 A.D.

SQL> select trunc(date '-0-1-1','yyyy')-1 from dual;

TRUNC(DATE'-0-1-1','YYYY')-1
----------------------------------
Wednesday 31st December 1 B.C.

1 comment:

APC said...

>> SQL> select trunc(date '-0-1-1','yyyy') from dual;
>>
>> TRUNC(DATE'-0-1-1','YYYY')
>> ----------------------------------
>> Thursday 1st January 0 A.D.

This raises interesting theological problems. Because the traditional year of Christ's birth is 1 AD. Roman mathematics lacked the concept of zero.

It was the non-existence of 0 AD which caused all the arguments about whether the third millenium started on 01-JAN-2000 or 01-JAN-2001.

Cheers, APC