Oracle date format จัด format date ให้แสดง พศ และ เดือน ภาษาไทยหรือตามภาษาที่เราเลือก
บทความเกี่ยวกับ : Oracle date format จัด format date ให้แสดง พศ และ เดือน ภาษาไทยหรือตามภาษาที่เราเลือก
วันนี้จะนำเสอนวิธีการจัด Format วันที่ใน Oracle ครับ
หลายๆ คนคงเคยเจอปัญหาเรื่องการแสดง พ.ศ. หรือ ชื่อเดือนให้เป็นภาษาไทยหรือจะเอาภาษาอะไรก็ได้ตามที่เราต้องการ
วันนี้จะเอาวิธีง่่ายๆ มาฝากครับ หากคุณกำลังต้องการ จัด Format วันที่ใน Oracle
ให้เป็นแบบนี้ คุณมาถูกที่แล้วครับ
วิธีการทำแบบนี้ครับ
SELECT TO_CHAR(SYSDATE, 'dd MON yyyy', 'NLS_CALENDAR=''THAI BUDDHA'' NLS_DATE_LANGUAGE=THAI')
FROM DUAL
แบบนี้จะแสดง 28 ธ.ค. 2554 ครับ
ตัวแปรที่สำคัญคือ
- 'dd MON yyyy' อันนี้เป็น format ครับ MON เพราะผมต้องการตัวย่อเดือน
- NLS_CALENDAR ตัวนี้แหละครับที่ทำให้ พศ แสดงเป็น พุทธศักราช 2554 (THAI BUDDHA)
- NLS_DATE_LANGUAGE ตัวนี้กำหนดให้แสดงเดือนเป็นภาษาไทยครับ (THAI)
ถ้าเราอยากแสดงเป็นภาษาอังกฤษ ก็ง่ายๆตามนี้ครับ
ถ้าหากเราไม่ใส่ option อะไรเพิ่มเติมมันก็จะแสดงตามค่า default ที่ set ไว้ครับ
อย่าง database ผม set เป็น ปี ค.ศ แต่ ภาษาไทย ถ้า query ตามนี้
ทางที่ดีเราควรจะกำหนด format ให้ชัดเจนเพราะบางที โปรแกรมที่เราเขียนอาจจะเอาไป Run ใน Database ที่ใหนก็ได้ครับ
วันนี้จะนำเสอนวิธีการจัด Format วันที่ใน Oracle ครับ
หลายๆ คนคงเคยเจอปัญหาเรื่องการแสดง พ.ศ. หรือ ชื่อเดือนให้เป็นภาษาไทยหรือจะเอาภาษาอะไรก็ได้ตามที่เราต้องการ
วันนี้จะเอาวิธีง่่ายๆ มาฝากครับ หากคุณกำลังต้องการ จัด Format วันที่ใน Oracle
ให้เป็นแบบนี้ คุณมาถูกที่แล้วครับ
20 พ.ย. 2554
20 NOV 2011
วิธีการทำแบบนี้ครับ
SELECT TO_CHAR(SYSDATE, 'dd MON yyyy', 'NLS_CALENDAR=''THAI BUDDHA'' NLS_DATE_LANGUAGE=THAI')
FROM DUAL
แบบนี้จะแสดง 28 ธ.ค. 2554 ครับ
ตัวแปรที่สำคัญคือ
- 'dd MON yyyy' อันนี้เป็น format ครับ MON เพราะผมต้องการตัวย่อเดือน
- NLS_CALENDAR ตัวนี้แหละครับที่ทำให้ พศ แสดงเป็น พุทธศักราช 2554 (THAI BUDDHA)
- NLS_DATE_LANGUAGE ตัวนี้กำหนดให้แสดงเดือนเป็นภาษาไทยครับ (THAI)
ถ้าเราอยากแสดงเป็นภาษาอังกฤษ ก็ง่ายๆตามนี้ครับ
SELECT TO_CHAR(SYSDATE, 'dd MON yyyy', ' NLS_DATE_LANGUAGE=AMERICAN')
FROM DUAL
จะได้ผลเป็น 28 DEC 2011FROM DUAL
ถ้าหากเราไม่ใส่ option อะไรเพิ่มเติมมันก็จะแสดงตามค่า default ที่ set ไว้ครับ
อย่าง database ผม set เป็น ปี ค.ศ แต่ ภาษาไทย ถ้า query ตามนี้
SELECT TO_CHAR(SYSDATE, 'dd MON yyyy')
FROM DUAL
ได้ผลเป็น 28 ธ.ค. 2011 ซึ่งมันจะแปรผันไปตาม DB ที่ลงไว้ครับFROM DUAL
ทางที่ดีเราควรจะกำหนด format ให้ชัดเจนเพราะบางที โปรแกรมที่เราเขียนอาจจะเอาไป Run ใน Database ที่ใหนก็ได้ครับ