สมมติว่าคุณจำเป็นต้องได้รับผลต่างระหว่างวันที่ (JoiningDate – EndDate) ของเดือน เช่น วันเพื่อคำนวณเงินเดือน เงินเดือนรายวันคือ 300; ดังนั้น 20 วันก็จะ 6000 เช่นเดียวกัน 27 วันก็จะเป็น 8100
ตัวอย่างเช่น ให้เราสร้างตารางก่อน
mysql> สร้างตาราง DemoTable -> ( -> วันที่เข้าร่วม -> วันที่สิ้นสุด -> , -> ค่า int -> ); ตกลง ตกลง 0 แถวได้รับผลกระทบ (1.16 วินาที)
แทรกระเบียนบางส่วนในตารางโดยใช้คำสั่ง insert -
mysql> แทรกลงในค่า DemoTable ('2019-01-01','2019-01-31',500) เคียวรีตกลง 1 แถวได้รับผลกระทบ (0.37 วินาที)mysql> แทรกลงในค่า DemoTable ('2019-02 -12','2019-02-25',900);แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.22 วินาที)
แสดงระเบียนทั้งหมดจากตารางโดยใช้คำสั่ง select -
mysql> เลือก *จาก DemoTable;
ผลลัพธ์
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
<ก่อนหน้า>+-----------+-------------+-------+| เข้าร่วมวันที่ | EndDate | ค่า |+-----------+-------------+-------+| 2019-01-01 | 2019-01-31 | 500 || 2019-02-12 | 2019-02-25 | 900 |+-----------+-------------+-------+2 แถวในชุด (0.00 วินาที)ต่อไปนี้เป็นแบบสอบถามเพื่อคำนวณเงินเดือน สำหรับความแตกต่างของวันที่ ใช้ DATEDIFF() -
mysql> เลือก ABS(DATEDIFF(JoinDate,EndDate) * Value) AS Total จาก DemoTable
ผลลัพธ์
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
<ก่อนหน้า>+-------+| รวม |+-------+| 15000 || 11700 |+-------+2 แถวในชุด (0.14 วินาที)