ในการรับอายุจากฟิลด์ DOB ใน MySQL คุณสามารถใช้ไวยากรณ์ต่อไปนี้ ที่นี่ เราลบ DOB จากวันที่ปัจจุบัน
select yourColumnName1,yourColumnName2,........N,year(curdate())- year(yourDOBColumnName) เป็น anyVariableName จาก yourTableName;
เพื่อให้เข้าใจไวยากรณ์ข้างต้น ให้เราสร้างตารางก่อน แบบสอบถามเพื่อสร้างตารางมีดังนี้
mysql> สร้างตาราง AgeDemo-> (-> StudentId int,-> StudentName varchar(100),-> StudentDOB date-> );แบบสอบถามตกลง 0 แถวได้รับผลกระทบ (0.61 วินาที)
แทรกบางระเบียนในตารางโดยใช้คำสั่งแทรก แบบสอบถามมีดังนี้
mysql> แทรกลงในค่า AgeDemo (1,'John','1998-10-1'); สืบค้นตกลง 1 แถวได้รับผลกระทบ (0.20 วินาที)mysql> แทรกลงในค่า AgeDemo (2,'Carol','1990 -1-2'); ตกลง แบบสอบถาม 1 แถวได้รับผลกระทบ (0.14 วินาที) mysql> แทรกลงในค่า AgeDemo (3,'Sam','2000-12-1'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.15 วินาที) mysql> แทรกลงในค่า AgeDemo (4,'Mike','2010-10-11');แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.18 วินาที)
แสดงระเบียนทั้งหมดจากตารางโดยใช้คำสั่ง select แบบสอบถามมีดังนี้
mysql> เลือก *จาก AgeDemo;
ต่อไปนี้เป็นผลลัพธ์
<ก่อนหน้า>+-----------+-------------+-----------+| รหัสนักศึกษา | ชื่อนักเรียน | StudentDOB |+-----------+-------------+-----------+| 1 | จอห์น | 1998-10-01 || 2 | แครอล | 1990-01-02 || 3 | แซม | 2000-12-01 || 4 | ไมค์ | 2010-10-11 |+-----------+-------------+-----------+4 แถวในชุด (0.00 วินาที)นี่คือแบบสอบถามเพื่อคำนวณอายุจาก D.O.B. แบบสอบถามมีดังนี้
mysql> เลือก StudentName,StudentDOB,year(curdate())-year(StudentDOB) เป็น StudentAge จาก AgeDemo;
ต่อไปนี้เป็นผลลัพธ์ที่แสดงอายุ
<ก่อนหน้า>+-------------+-----------+-----------+| ชื่อนักเรียน | StudentDOB | StudentAge |+-------------+-----------+-----------+| จอห์น | 1998-10-01 | 21 || แครอล | 1990-01-02 | 29 || แซม | 2000-12-01 | 19 || ไมค์ | 2010-10-11 | 9 |+-------------+-----------+------------+4 แถวในชุด (0.03 วินาที )