มักจะมีคนถามบ่อย ๆ ว่า 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.
18 กุมภาพันธ์ 2554
สมัครสมาชิก:
ส่งความคิดเห็น (Atom)
บทความยอดนิยม (ล่าสุด)
-
หมากฮอส เป็นกีฬาหมากกระดานประเภทหนึ่ง ประกอบด้วยผู้เล่น 2 ฝ่าย อุปกรณ์การเล่น ได้แก่ กระดานและตัวหมาก ...
-
หลายคนที่กำลังลังเลว่าจะทำงานอะไร มักจะมีคำถามว่า ทำงานข้าราชการ พนักงานรัฐวิสาหกิจ หรือ พนักงานบริษัทเอกชน ทำงานอะไรดี? ซึ่งกลุ่มงานทั้ง ...
-
To replace each new line with enter ( \n) in Visual Studio Code ( vscode ) do the steps from images below and click "Replace All...
-
MongoDB check index creation progress information db.adminCommand( { currentOp: true, $or: [ { op: "command", "command.create...
-
MongoDB Transactions with mongosh: A Step-by-Step Guide MongoDB transactions allow you to execute multiple operations as a single, atomic un...
-
รู้มั้ยว่า ชาวญี่ปุ่นมีอายุเฉลี่ยยืนยาวที่สุดจนติดอันดับ 1 - 5 ของโลก ผลการประเมิน และจัดอันดับจาก IHME (Institute for Health Metrics and Ev...
-
ตารางรถไฟจากกรุงเทพไปหัวหิน ตารางรถไฟจากหัวหินไปกรุงเทพ บรรยากาศสวยๆ บริเวณสถานีรถไฟหัวหิน บรรยากาศชายหาดหั...
-
ที่มา https://www.facebook.com/story.php?story_fbid=122111201762390122&id=61561703667907
-
เรียน Chat GPT, Co-pilot, LLM ฟรี https://www.youtube.com/@TheCitizenAI
บทความยอดนิยม (1 ปีย้อนหลัง)
-
หมากฮอส เป็นกีฬาหมากกระดานประเภทหนึ่ง ประกอบด้วยผู้เล่น 2 ฝ่าย อุปกรณ์การเล่น ได้แก่ กระดานและตัวหมาก ...
-
หลายคนที่กำลังลังเลว่าจะทำงานอะไร มักจะมีคำถามว่า ทำงานข้าราชการ พนักงานรัฐวิสาหกิจ หรือ พนักงานบริษัทเอกชน ทำงานอะไรดี? ซึ่งกลุ่มงานทั้ง ...
-
To replace each new line with enter ( \n) in Visual Studio Code ( vscode ) do the steps from images below and click "Replace All...
-
แจกฟรี โปรแกรมคำนวณเงินเก็บเพื่อวางแผนเกษียณ วิธีใช้งานไม่ยาก ช่องสีเหลือง แถวแรก "เงินเก็บต่อเดือน" ให้กรอกเงินเก็บต่อเดือนที่เรา...
-
สำหรับร่างกฎกระทรวงใหม่ ของสำนักงานปนะกันสังคม (สปส.) ฉบับนี้ เตรียมมีผลบังคับใช้ 1 ม.ค. 69 หลัก ๆ จะปรับปรุงกำหนดค่าจ้างขั้นสูงที่ใช้เป็นฐ...
-
เมตตาทุนนิยม - ปรีชา ประกอบกิจ เคยได้ยินคำว่า “เมตตาทุนนิยม” ซึ่งตรงกับภาษาอังกฤษว่า Com passionate Capitalism กันบ้างไหมครับ ก่อนอื่นต...
-
REIT คืออะไร สมัยก่อน เรามักจะเห็นคนรวยชอบซื้อ ชอบสะสมอสังหาริมทรัพย์ ที่มีทำเลดีๆ และราคาไม่สูงมาก ไม่ว่าจะเป็นที่ดิน บ้าน ทาวน์เฮ้าส์ เพ...
-
ภาษีเงินได้บุคคลธรรมดา ภาษีเงินได้บุคคลธรรมดา คือ ภาษีที่จัดเก็บจากบุคคลทั่วไป หรือจากหน่วยภาษีที่มีลักษณะพิเศษ ตามที่กฎหมายกำหนดและมีรายไ...
-
ต้องทำความเข้าใจเสียใหม่! คนรวย (อาจ) ไม่ได้เก่งเท่าที่คุณคิด พวกเขาแค่ ‘โชคดี’ กว่า เคยได้ยินประโยคที่ว่า ‘ถ้าเก่งจริงทำไมไม่รวย?’ หรือเปล่...
-
CJ Group เป็นน้องใหม่ธุรกิจร้านสะดวกซื้อที่ค่อนข้างน่ากลัว โดยจุดเด่นหลักๆ ของ CJ Group คือ Location เยี่ยม คือไปเปิดทำเลติดหรือใกล้ๆ กับ 7-...
ไม่มีความคิดเห็น:
แสดงความคิดเห็น