ในการคำนวณอายุจากวันเกิด คุณสามารถใช้ไวยากรณ์ด้านล่าง -
เลือก timestampdiff(YEAR,yourColumnName,now()) AS anyAliasName จาก yourTableName;
ให้เราสร้างตารางก่อน -
mysql> สร้างตาราง DemoTable ( StudentId int ไม่ใช่ NULL AUTO_INCREMENT PRIMARY KEY, StudentDOB datetime); สืบค้นตกลง 0 แถวได้รับผลกระทบ (0.61 วินาที)
แทรกระเบียนบางส่วนในตารางโดยใช้คำสั่ง insert -
mysql> แทรกลงในค่า DemoTable(StudentDOB) ('1996-01-12'); เคียวรีตกลง 1 แถวได้รับผลกระทบ (0.13 วินาที)mysql> แทรกลงในค่า DemoTable(StudentDOB) ('1990-12-31');แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.12 วินาที)mysql> แทรกลงในค่า DemoTable (StudentDOB) ('1989-04-01'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.45 วินาที) mysql> แทรกลงในค่า DemoTable (StudentDOB) ( '2000-06-17');แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.16 วินาที)
ต่อไปนี้เป็นแบบสอบถามเพื่อแสดงระเบียนทั้งหมดจากตารางโดยใช้คำสั่ง select -
mysql> เลือก *จาก DemoTable;
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
<ก่อนหน้า>+-----------+---------------------+| รหัสนักศึกษา | StudentDOB |+-----------+---------------------+| 1 | 1996-01-12 00:00:00 || 2 | 1990-12-31 00:00:00 || 3 | 1989-04-01 00:00:00 || 4 | 2000-06-17 00:00:00 |+-----------+---------------------+4 แถวในชุด (0.00 วินาที)นี่คือแบบสอบถามเพื่อคำนวณอายุจากวันเดือนปีเกิด -
mysql> เลือก timestampdiff(YEAR,StudentDOB,now()) AS AGE จาก DemoTable;
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
<ก่อนหน้า>+------+| อายุ |+------+| 23 || 28 || 30 || 18 |+------+4 แถวในชุด (0.03 วินาที)