This content has been marked as final. Show 1 reply
All calculations in the database are performed using the Gregorian calendar and all datetime values are stored in this calendar. Hijrah calendar is for textual presentation only. That is, it influences TO_CHAR, TO_DATE and the related timestamp conversion functions. You can specify NLS_CALENDAR for the session, using ALTER SESSION or the client environment setting (the latter except for JDBC Thin clients), or directly in TO_CHAR/TO_DATE/TO_TIMESTAMP calls, in the third argument to the functions. You can theoretically set NLS_CALENDAR in init.ora but this is not especially useful or recommended as the setting is usually overridden by the client.
If you need to set the setting centrally, an AFTER LOGON trigger is probably the best option.