สนุกกับ Format Date (PL/SQL) เอามาแบ่งกันอ่านจ้า
Format Date (PL/SQL)
ฟอร์ แมตที่น่ารู้เกี่ยวกับ DateTime สำหรับการใช้งาน PL/SQL โดยขั้นแรกเราต้องรู้จักกับ Format Date Time ต่างๆ ที่เกี่ยวข้องมีดังนี้
ฟอร์แมตคำอธิบายDayวันเต็ม แสดงเป็นตัวอักษร เช่น จันทร์, อังคาร, พุธ, พฤหัสบดี, ศุกร์, เสาร์, อาทิตย์DYวันย่อ แสดงเป็นตัวอักษร เช่น จ., อ., พ., พฤ., ศ., ส., อา.Dแสดงวันภายในสัปดาห์เป็นตัวเลข เช่น 1(วันอาทิตย์), 2(วันจันทร์), 3(วันอังคาร), …DDวันที่แสดงเป็นตัวเลข เช่น 01, 02, 03…, 31DDDแสดงวันที่ภายในปีนั้นๆ เป็นตัวเลข เช่น หากเราทำการเรียกคำสั่ง
select to_char(to_date(’05/12/2009′,’dd/mm/yyyy’),’DDD’) from dual;จะได้ผลลัพธ์ 339(เป็นวันที่ 339 ของปี)ddthแสดงวันโดยแสดงเป็นแบบ เลขแสดงลำดับที่ เช่น หากเราทำการเรียกคำสั่ง
select to_char(to_date(’01/12/2009′,’dd/mm/yyyy’),’ddth’) from dual;จะได้ผลลัพธ์ 1st(เป็นเลขแสดงลำดับที่)ddspแสดงวันที่ ภาษาอังกฤษ เช่น หากเราทำการเรียกคำสั่ง
select to_char(to_date(’01/12/2009′,’dd/mm/yyyy’),’ddsp’) from dual;
จะได้ผลลัพธ์ one แสดงตัวเลขเป็นภาษาอังกฤษ ตัวอักษรเป็นตัวเล็กทั้งหมดDdspแสดงวันที่ ภาษาอังกฤษ เช่น หากเราทำการเรียกคำสั่ง
select to_char(to_date(’01/12/2009′,’dd/mm/yyyy’),’Ddsp’) from dual;
จะได้ผลลัพธ์ One แสดงตัวเลขเป็นภาษาอังกฤษ ตัวอักษรตัวใหญ่เป็นตัวแรกDDspแสดงวันที่ ภาษาอังกฤษ เช่น หากเราทำการเรียกคำสั่ง
select to_char(to_date(’01/12/2009′,’dd/mm/yyyy’),’DDsp’) from dual;
จะได้ผลลัพธ์ ONE แสดงตัวเลขเป็นภาษาอังกฤษ ตัวอักษรเป็นตัวใหญ่ทั้งหมดDdspthแสดงวันที่ เป็นแบบจำนวนนับ เช่น FIRST,SECOND,… ตัวอย่าง หากเราทำการเรียกคำสั่ง
select to_char(to_date(’01/12/2009′,’dd/mm/yyyy’),’Ddspth’) from dual;
ผลลัพธ์ FIRSTMMเดือนแสดงเป็นตัวเลข เช่น 01, 02, 03…, 12MONชื่อย่อของเดือนเช่น ม.ค., ก.พ., มี.ค., …, ธ.ค.Monthชื่อเต็มของเดือนเช่น มกราคม, กุมภาพันธ์, มีนาคม.., ธันวาคมYYYYแสดงปีเป็นตัวเลข 4 ตัว เช่น 2550, 2551, 2552YYแสดงปีเป็นตัวเลข 2 ตัวสุดท้าย เช่น 50, 51, 52HHชั่วโมง โดยแสดงเป็นตัวเลข 2 ตัว เช่น 00, 01, 02, … ,11 โดยมักจะต้องใช้คู่กับ AM หรือ PM เพื่อบอกช่วงเวลาว่าเป็นก่อนเที่ยง หรือหลังเที่ยงAM (หรือ PM)เป็นช่วงเวลาก่อน เที่ยง สำหรับ AM หรือ ช่วงเวลาหลังเที่ยงสำหรับ PMHH24ชั่วโมง โดยแสดงเป็นตัวเลข 2 ตัว เช่น 00, 01, 02, … , 23MIนาที โดยแสดงเป็นตัวเลข 2 ตัว เช่น 00, 01, 02, … , 59SSวินาที โดยแสดงเป็นตัวเลข 2 ตัว เช่น 00, 01, 02, … , 59SSSSSมิลลิวินาทีฟังก์ชั่นเพิ่มเติมที่เกี่ยวข้องในการใช้ Format Date
1. ฟังก์ชั่น to_char เป็นฟังก์ชั่นที่จะทำการ Convert ข้อมูลประเภทวันที่ เป็นข้อมูลประเภทตัวอักษร (String) ตาม Format ที่ได้กำหนด โดยสามารถเขียนได้ดังนี้
to_char(ข้อมูลที่เป็นวันที่, ฟอร์แมตของข้อมูล)
2. ฟังก์ชั่น to_date เป็นฟังก์ชั่นที่จะทำการ Convert ข้อมูลประเภทวันที่ เป็นข้อมูลประเภทวันที่ ตาม Format ที่ได้กำหนด หรือพูดง่ายๆว่า เป็นการแปลง Format ของวันที่เฉยๆ โดยสามารถเขียนได้ดังนี้
to_date(ข้อมูลที่เป็นวันที่, ฟอร์แมตของข้อมูล)
อันนี้เป็นเพียงตัวอย่างในการใช้งานคร่าวๆ เท่านั้นครับ โดยผมจะค่อยๆ นำเรื่องราวดีๆ มาแบ่งปันเรื่อยๆครับ
CR. http://gammypotter.blogspot.com/2012/11/format-date-plsql.html