SQL นับเดือนจากวันที่ 2 วันด้วย DATEDIFF บทความนี้สอนใช้คำสั่ง DATEDIFF เพื่อหาว่าระยะห่างของวันที่ 2 วัน มีทั้งหมดกี่เดือน และใช้คำสั่ง CAST ร่วมกับ INT เพื่อแปลงผลลัพธ์เป็นตัวเลข สามารถเขียนคำสั่งได้ดังนี้
ตัวอย่าง SQL นับเดือนจากวันที่ 2 วันด้วย DATEDIFF
SELECT CAST(DATEDIFF('2022-06-30', '2022-01-01')/30 AS INT) AS month
ผลลัพธ์
+-------+
| month |
+-------+
| 6 |
+-------+
SQL นับเดือน จากตัวอย่างคำสั่ง SQL สามารถแยกส่วน และอธิบายได้ดังนี้
1. DATEDIFF('2022-06-30', '2022-01-01')/30 คือใช้คำสั่ง DATEDIFF เพื่อหาว่าระหว่างวันที่ 2022-06-30 ถึง 2022-01-01 ห่างกันกี่วัน และนำไปหาร 30 เพื่อแปลงเป็นเดือน
2. ใช้คำสั่ง CAST ร่วมกับ AS INT เพื่อแปลงผลลัพธ์จากตัวเลขทศนิยมให้เป็นตัวเลขจำนวนเต็ม