มักจะมีคนถามบ่อย ๆ ว่า Oracle เก็บวันที่เป็นปีฝรั่งหรือปีไทย จริงๆ แล้วฟิลด์ DATE ของ Oracle จะเก็บข้อมูลวันที่เป็นตัวเลขค่าหนึ่งซึ่งแทนวันที่ในปฏิทินสากลแบบของ ฝรั่งเขา ซึ่งเรียกว่าปฏิทินแบบ Gregorian ซึ่งเป็นปฏิทินแบบ default ของ Oracle
การเก็บจึงไม่ใช่การเก็บเป็นตัวเลข 2551 หรือ 2008 ดังนั้นคำถามจึงไม่ได้อยู่ที่ว่ามันเก็บเป็นปีฝรั่งหรือปีไทย แต่น่าจะอยู่ที่ว่าคุณยินดีจะคีย์วันที่เป็นปีไทยหรือปีฝรั่งคุณก็คีย์ แต่บอก Oracle หน่อยว่าที่คุณคีย์นั้นเอาฟอร์แมตแบบไหน เป็นปีไทยหรือปีฝรั่ง การนำออกมาแสดงก็เช่นกัน ตอนคุณเอาออกมาแสดงก็เพียงแต่บอกว่าต้องการดูแบบปีไทยหรือปีฝรั่ง ในตัวอย่างผมเปลี่ยนประเภทของปฏิทินเป็นแบบปีพ.ศ. (THAI_BUDDHA) แล้ว insert ข้อมูลเข้าไปเป็นทั้งปีแบบ ค.ศ. และ พ.ศ. แล้วก็เปลี่ยนกลับเป็นแบบปี ค.ศ. (GREGORIAN) จะเห็นว่า เมื่อเรา insert ปีพ.ศ.เข้าไปในขณะที่เราตั้งปฏิทินเป็นปี พ.ศ. เมื่อ select ข้อมูลขึ้นมาก็จะได้ข้อมูลที่ถูกต้อง แต่ถ้าเรา insert ปีค.ศ.เข้าไปเราจะเห็นว่า กันจะกลายเป็นปี พ.ศ.2008 แทน เช่นเดียวกับเมื่อเราตั้งปฏิทินเป็นแบบ ค.ศ. แล้วคีย์ข้อมูลเป็น 2551 เราก็จะได้ปี ค.ศ.2551
ตอนท้ายผม select ข้อมูลที่เรา insert เข้าไปให้ดูในทั้งสองแบบปฏิทิน หวังว่าคงจะช่วยทำให้เข้าใจเรื่องปฏิทินใน Oracle ดีขึ้นมั่งนะครับ
SQL> create table mydate (date_col date);
Table created.
SQL> alter session set nls_calendar = 'THAI BUDDHA';
Session altered.
SQL> insert into mydate values (to_date ('15/12/2008','dd/mm/yyyy'));
1 row created.
SQL> insert into mydate values (to_date ('15/12/2551','dd/mm/yyyy'));
1 row created.
SQL> alter session set nls_calendar = 'GREGORIAN';
Session altered.
SQL> insert into mydate values (to_date ('15/12/2008','dd/mm/yyyy'));
1 row created.
SQL> insert into mydate values (to_date ('15/12/2551','dd/mm/yyyy'));
1 row created.
SQL> commit;
Commit complete.
SQL> conn scott/tiger
Connected.
SQL> select * from mydate;
DATE_COL
-------------
15 ธ.ค. 1465
15 ธ.ค. 2008
15 ธ.ค. 2008
15 ธ.ค. 2551
SQL> alter session set nls_calendar='THAI BUDDHA';
Session altered.
SQL> select * from mydate;
DATE_COL
--------------------------------------------------------
วัน ที่ 15 ธันวาคม พุทธศักราช 2008
วันที่ 15 ธันวาคม พุทธศักราช 2551
วัน ที่ 15 ธันวาคม พุทธศักราช 2551
วันที่ 15 ธันวาคม พุทธศักราช 3094
from http://www.dbcertify.com/index.php?option=com_content&view=article&id=9:-oracle&catid=2:tanakornblog&Itemid=4
My personal blog about health, hobby, stock & investment, information technology, self improvement, tax and travel.
สมัครสมาชิก:
ส่งความคิดเห็น (Atom)
บทความยอดนิยม (ล่าสุด)
-
หมากฮอส เป็นกีฬาหมากกระดานประเภทหนึ่ง ประกอบด้วยผู้เล่น 2 ฝ่าย อุปกรณ์การเล่น ได้แก่ กระดานและตัวหมาก ...
-
หลายคนที่กำลังลังเลว่าจะทำงานอะไร มักจะมีคำถามว่า ทำงานข้าราชการ พนักงานรัฐวิสาหกิจ หรือ พนักงานบริษัทเอกชน ทำงานอะไรดี? ซึ่งกลุ่มงานทั้ง ...
-
REIT คืออะไร สมัยก่อน เรามักจะเห็นคนรวยชอบซื้อ ชอบสะสมอสังหาริมทรัพย์ ที่มีทำเลดีๆ และราคาไม่สูงมาก ไม่ว่าจะเป็นที่ดิน บ้าน ทาวน์เฮ้าส์ เพ...
-
โธมัส แอลวา เอดิสัน (Thomas Alva Edison) “To invent, you need a good imagination and a pile of junk.” ในการประดิษฐ์คิดค้น คุณจะ...
-
To replace each new line with enter ( \n) in Visual Studio Code ( vscode ) do the steps from images below and click "Replace All&qu...
-
เมตตาทุนนิยม - ปรีชา ประกอบกิจ เคยได้ยินคำว่า “เมตตาทุนนิยม” ซึ่งตรงกับภาษาอังกฤษว่า Com passionate Capitalism กันบ้างไหมครับ ก่อนอื่นต...
-
*ดูรีวิว ประกันออมทรัพย์ 10/1 ปีล่าสุดได้ที่ Link ประกันออมทรัพย์ ประกันออมทรัพย์นั้น เป็นสิ่งที่ค่อนข้างน่าสนใจเนื่องจาก 1. สามารถลดหย่อน...
-
มาสร้างเงินล้านด้วยการออมกองทุนรวมกัน การเก็บเงินให้ได้ 1 ล้านบาทนั้น เป็นเป้าหมายของหลายๆ คน ผู้เชี่ยวชาญด้านการเงินหลายคนบอกว่า 1 ล้านบาทแ...
-
ปีชวด (ปีหนู): http://goo.gl/fA8bYu ปีฉลู (ปีวัว): http://goo.gl/C6RCgS ปีขาล (ปีเสือ): http://goo.gl/7Yy91f ปีเถาะ (ปีกระต่าย): http://g...
บทความยอดนิยม (1 ปีย้อนหลัง)
-
หมากฮอส เป็นกีฬาหมากกระดานประเภทหนึ่ง ประกอบด้วยผู้เล่น 2 ฝ่าย อุปกรณ์การเล่น ได้แก่ กระดานและตัวหมาก ...
-
รวมโปรโมชั่นซื้อกองทุนรวม SSF RMF 2566 ของแต่ละ บลจ (ข้อมูลล่าสุด กันยายน 2566) บลจ. บัวหลวง ลงทุนกองมทุน RMF / SSF ปี 66 รับฟรี Starbuc...
-
หลายคนที่กำลังลังเลว่าจะทำงานอะไร มักจะมีคำถามว่า ทำงานข้าราชการ พนักงานรัฐวิสาหกิจ หรือ พนักงานบริษัทเอกชน ทำงานอะไรดี? ซึ่งกลุ่มงานทั้ง ...
-
https://www.youtube.com/watch?v=728hIrzcXqw ที่มา https://www.facebook.com/ZipmexThailand https://www.youtube.com/@Zipmex/videos LINE กลุ...
-
REIT คืออะไร สมัยก่อน เรามักจะเห็นคนรวยชอบซื้อ ชอบสะสมอสังหาริมทรัพย์ ที่มีทำเลดีๆ และราคาไม่สูงมาก ไม่ว่าจะเป็นที่ดิน บ้าน ทาวน์เฮ้าส์ เพ...
-
โธมัส แอลวา เอดิสัน (Thomas Alva Edison) “To invent, you need a good imagination and a pile of junk.” ในการประดิษฐ์คิดค้น คุณจะ...
-
To replace each new line with enter ( \n) in Visual Studio Code ( vscode ) do the steps from images below and click "Replace All&qu...
-
เมตตาทุนนิยม - ปรีชา ประกอบกิจ เคยได้ยินคำว่า “เมตตาทุนนิยม” ซึ่งตรงกับภาษาอังกฤษว่า Com passionate Capitalism กันบ้างไหมครับ ก่อนอื่นต...
-
*ดูรีวิว ประกันออมทรัพย์ 10/1 ปีล่าสุดได้ที่ Link ประกันออมทรัพย์ ประกันออมทรัพย์นั้น เป็นสิ่งที่ค่อนข้างน่าสนใจเนื่องจาก 1. สามารถลดหย่อน...
-
ปีชวด (ปีหนู): http://goo.gl/fA8bYu ปีฉลู (ปีวัว): http://goo.gl/C6RCgS ปีขาล (ปีเสือ): http://goo.gl/7Yy91f ปีเถาะ (ปีกระต่าย): http://g...
ไม่มีความคิดเห็น:
แสดงความคิดเห็น