อายุเป็นเพียงตัวเลข มีคนพูดไว้แบบนี้ แล้วถ้าเราอยากจะรู้ล่ะว่าไอ้ตัวเลข จำนวนปี จำนวนเดือน และจำนวนวัน ของอายุเรามันเป็นตัวเลขอะไร ถ้าไม่อะไรมากใช้เครื่องคิดเลข หรือนับเอาก็ได้อยู่ แต่ถ้าต้องคำนวณของทุกคนในองค์กรล่ะจะนับเอง หรือเครื่องคิดเลขก็คงไม่ไหวแล้ว ดังนั้นวันนี้จึงจะขอแนะนำ Oracle Datetime Functions ที่สามารถนำมาประยุกต์ใช้ เพื่อคำนวณหาอายุของเรากันค่ะ
Oracle Datetime Functions ที่จะแนะนำในวันนี้คือ ฟังก์ชัน TRUNC (date), ADD_MONTHS และฟังก์ชัน MONTHS_BETWEEN โดยมีรายละเอียดของฟังก์ชันดังนี้
ฟังก์ชัน | คำอธิบาย |
ADD_MONTHS | เพิ่มจำนวนเดือนลงในวันที่ที่ระบุ |
MONTHS_BETWEEN | หาจำนวนเดือนระหว่าง 2 วันที่ที่ระบุ |
TRUNC (date) | คืนค่าวันที่พร้อมส่วนเวลาของวันที่ตัดให้เป็นหน่วยที่ระบุ |
ตัวอย่างการใช้งานฟังก์ชัน ADD_MONTHS
Syntax :
ADD_MONTHS(date, integer)
ตัวอย่างการใช้งานฟังก์ชัน MONTHS_BETWEEN
Syntax :
MONTHS_BETWEEN(date1, date2)
ตัวอย่างการใช้งานฟังก์ชัน TRUNC (date)
Syntax :
TRUNC ( date [, format ] )โดยที่ format ไม่ต้องระบุก็ได้ กรณีไม่ระบุวันที่จะถูกตัดเป็นวันที่ใกล้ที่สุด สามารถแสดงตัวอย่างของ format ได้ดังต่อไปนี้
รูปแบบ Format | หน่วยปัดเศษ |
SYYYY, YYYY, YEAR. SYEAR, YYY, YY, Y | ปี |
MONTH, MON, MM, RM | เดือน |
DDD, DD, J | วัน |
DAY, DY, D | วันเริ่มต้นของสัปดาห์ |
HH, HH12, HH24 | ชั่วโมง |
MI | นาที |
จากตัวอย่าง query การใช้งานทั้ง 3 ฟังก์ชันข้างต้น เราสามารถประยุกต์ใช้เพื่อคำนวณหาจำนวนปี จำนวนเดือน และจำนวนวันของอายุได้ดังนี้
คิดว่านอกเหนือจากการคำนวณหาอายุแล้วก็ยังไปประยุกต์ใช้สำหรับการหาช่วงเวลาอื่นๆ ได้อีกเช่น ระยะเวลาในการปฏิบัติงานเป็นต้น