یکی از مشکلاتی که ما ایرانیها همیشه با نرم افزارهای خارجی داریم تاریخ شمسی است. اما در زیر خواهیم دید که اراکل در این زمینه چه فعالیتی انجام داده است و یک راهکار هم پیشنهاد می دهیم که البته بنده خودم اعتقادی به آن ندارم اما در بین جماعت اراکلی و برنامه نویسان مرسوم می باشد.
از اراکل ۸ به بعد، بانک اطلاعاتی اراکل از تاریخ خورشیدی پشتیبانی می نماید. برای اعمال این پشتیبانی می بایست پارامترهای بانک اطلاعاتی را تغییر داد و نیازی به هیچگونه تابعی نیز وجود نخواهد داشت. این تغییرات می تواند در دو قسمت اعمال شود:
در SQLPlus یا در iSQLPlus زمانی که با نام کاربری و کلمه عبور Login کردید می توانید Session را تغییر دهید و از این به بعد تاریخ را خورشیدی مشاهده نمایید. برای اینکار عبارت زیر را تایپ نمایید.
SQL> Alter session set NLS_CALENDAR=persian
حالا دستور زیر را تایپ نمایید تا نتیجه را مشاهده کنید.
SQL> SELECT hiredate FROM emp
چطور بود؟؟؟!!!
در رجیستری ویندوز باید در Home مربوطه NLS_CALENDAR=persian باشد.
در زیر هم یک تاکتیک مشاهده می نمایید که البته جالب نیست اما مرسوم است:
در زمان تعریف فیلد تاریخ در بانک اطلاعاتی نوع تاریخ را عددی مثلا ۸ تایی در نظر بگیرید و به آن Mask به صورت ۹۹/۹۹/۹۹ بدهید یا عددی ۱۰ تایی تعریف کنید و از مسک ۹۹۹۹/۹۹/۹۹ استفاده نمایید.
امیدوارم که مفید فایده بوده باشد.