วันพุธที่ 17 ธันวาคม พ.ศ. 2557

คำสั่ง MONTHS_BETWEEN

เป็นฟังก์ชันที่คำนวณค่าระหว่าง X และ Y โดยมีหน่วยเป็นเดือน
ถ้าต้องการคำนวณหาค่าระหว่างคอลัมน์ STARIDATE กับคอลัมน์ ENDDATE ว่ามีระยะเวลาห่างกันกี่เดือน
SELECT TASK, STARTDATE, ENDDATE, MONTHS_BETWEEN(STARTDATE, ENDDATE)
DURATION
FROM PROJECT;
ผลของคำสั่งที่ได้คอลัมน์ DURATION ที่ติดค่าลบเนื่องจากใช้คอลัมน์ STARTDATE ซึ่งมีค่าน้อยกว่าคอลัมน์ ENDDATE เป็นค่าเริ่มต้น

TASK
STARTDATE
ENDDATE
DURATION
KICKOFF MTG
01-APR-2001
01-APR-2001
0
TECH SURVEY
02-APR-2001
01-MAY-2001
-.9677419
USER MTGS
15-MAY-2001
30-MAY-2001
-.483871
DESIGN WIDGET
01-JUN-2001
30-JUN-2001
-.9354839
CODE WIDGET
01-JUL-2001
02-SEP-2001
-2.032258
TESTING
03-SEP-2001
17-JAN-2002
-4.451613

เป็นการหาค่าเดือนเหมือนดังตัวอย่างข้างต้น แต่จะนำคอลัมน์ ENDDATE มาเป็นค่าเริ่มต้น
SELECT TASK, STARTDATE, ENDDATE,
MONTHS_BETWEEN(ENDDATE ,STARTDATE) DURATION
FROM PROJECT;
ผลของคำสั่งที่ได้คอลัมน์ DURATION เป็นบวกเพราะคอลัมน์ ENDDATE ที่เป็นค่าเริ่มต้นมีค่ามากกว่าคอลัมน์ STARIDATE
ผลลัพธ์

TASK

STARTDATE
ENDDATE
DURATOPN
KICKOFF MTG
01-APR-2001
01-APR-2001
0
TECH SURVEY
02-APR-2001
01-MAY-2001
.96774194
USER MTGS
15-MAY-2001
30-MAY-2001
.48387097
DESIGN WIDGET
01-JUN-2001
30-JUN-2001
.93548387
CODE WIDGET
01-JUL-2001
02-SEP-2001
2.0322581
TESTING
03-SEP-2001
17-JAN-2002
4.4516129

ไม่มีความคิดเห็น:

แสดงความคิดเห็น