Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

MySQL DATE_ADD() เพื่อเพิ่มวันที่ตามค่าในคอลัมน์อื่น?


ขั้นแรกให้เราสร้างตารางที่มีคอลัมน์ใดคอลัมน์หนึ่งเป็น DueDate และอีกคอลัมน์หนึ่ง “RepeatTime ซึ่งแสดงจำนวนครั้ง สมมติว่าผู้ใช้ได้รับการแจ้งเตือนให้ส่งการชำระเงิน –

mysql> สร้างตาราง DemoTable -> ( -> วันที่ครบกำหนด -> RepeatTime int -> ); ตกลง ตกลง 0 แถวได้รับผลกระทบ (0.57 วินาที)

แทรกระเบียนบางส่วนในตารางโดยใช้คำสั่ง insert -

mysql> แทรกลงในค่า DemoTable ('2019-01-23',3); ตกลง ตกลง 1 แถวได้รับผลกระทบ (0.13 วินาที)mysql> ลงในค่า DemoTable ('2019-06-22',6); แบบสอบถาม ตกลง ได้รับผลกระทบ 1 แถว (0.19 วินาที)mysql> แทรกลงในค่า DemoTable ('2019-03-28',2); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.25 วินาที) mysql> แทรกลงในค่า DemoTable ('2017-07-25 ',6);แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.15 วินาที)

แสดงระเบียนทั้งหมดจากตารางโดยใช้คำสั่ง select -

mysql> เลือก *จาก DemoTable;

ผลลัพธ์

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

<ก่อนหน้า>+-----------+-----------+| DueDate | เวลาซ้ำ |+--------------------+-----------+| 2019-01-23 | 3 || 2019-06-22 | 6 || 2019-03-28 | 2 || 2017-07-25 | 6 |+------------+------------+4 แถวในชุด (0.00 วินาที)

นี่คือแบบสอบถามที่เพิ่มวันที่ตามค่าในคอลัมน์อื่น -

mysql> อัปเดต DemoTable set DueDate=date_add(DueDate,interval RepeatTime MONTH) โดยที่ RepeatTime!=6;ตกลง ตกลง 2 แถวได้รับผลกระทบ (0.25 วินาที) แถวที่ตรงกัน:2 เปลี่ยนแล้ว:2 คำเตือน:0

ให้เราตรวจสอบบันทึกตารางอีกครั้ง -

mysql> เลือก *จาก DemoTable;

ผลลัพธ์

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

<ก่อนหน้า>+-----------+-----------+| DueDate | เวลาซ้ำ |+--------------------+-----------+| 2019-04-23 | 3 || 2019-06-22 | 6 || 2019-05-28 | 2 || 2017-07-25 | 6 |+------------+------------+4 แถวในชุด (0.00 วินาที)