Fix Oracle Date Format

ในกรณีที่เราทำการ Run SQL Statement บน Oracle Database แล้วไม่สามารถทำการ Run ได้ เนื่องจาก Date Format ของ SQL Statement ไม่ตรงกับพารามิเตอร์ National Language Support ( NLS ) บน Oracle


Cause : สาเหตุเนื่องมาจาก Date Format ของ SQL Statement ไม่ตรงกับพารามิเตอร์ National Language Support ( NLS ) บน Oracle ทำให้ไม่สามารถ Run SQL Statement ได้ ซึ่งมีวิธีแก้ 2 วิธี คือ 1. แก้ไขพารามิเตอร์ NLS_DATE_LANGUAGE ของ Session 2. แก้ไข SQL Statement ให้ตรงกับ Date Format

SQL> select to_date('09 MAR 2020','DD MON RRRR') from dual ;
ORA-01843: not a valid month

Configuration

Solution 1

  • ทำการแก้ไขพารามิเตอร์ NLS_DATE_LANGUAGE
SQL> alter session set NLS_DATE_LANGUAGE='ENGLISH'

Solution 2

  • ทำการแก้ไข SQL Statement
SQL> select to_date('09 MAR 2020','DD MON RRRR','NLS_DATE_LANGUAGE=ENGLISH') from dual ;

อ่านเพิ่มเติม : http://bit.ly/32ZnvPZ


Leave a Reply

Your email address will not be published. Required fields are marked *