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

คำนวณอายุจากวันเกิดที่ระบุใน MySQL หรือไม่


ในการคำนวณอายุใน MySQL จากวันเดือนปีเกิด คุณสามารถใช้ไวยากรณ์ต่อไปนี้ -

SELECT YEAR(CURRENT_TIMESTAMP) - YEAR(yourColumnName)- (RIGHT(CURRENT_TIMESTAMP, 5)  

เพื่อให้เข้าใจแนวคิดข้างต้น ให้เราสร้างตาราง ต่อไปนี้เป็นแบบสอบถามเพื่อสร้างตาราง

mysql> สร้างตาราง AgeCalculatesDemo −> ( −> YourDateOfBirth datetime −> ); ตกลง ตกลง 0 แถวได้รับผลกระทบ (0.50 วินาที)

แทรกบางระเบียนในตารางโดยใช้คำสั่งแทรก บันทึกเหล่านี้เป็น DOB ที่เราจะคำนวณอายุ ต่อไปนี้เป็นคำถาม −

mysql> แทรกลงในค่า AgeCalculatesDemo (date_add(now(), ช่วงเวลา 22 ปี)); แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.23 วินาที) mysql> ตัดทอนตาราง AgeCalculatesDemo; แบบสอบถามตกลง 0 แถวได้รับผลกระทบ (0.89 วินาที) mysql> แทรกลงในค่า AgeCalculatesDemo (date_add(now(), ช่วง -22 ปี)); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.16 วินาที) mysql> แทรกลงในค่า AgeCalculatesDemo (date_add (ตอนนี้ (), ช่วงเวลา -12 ปี)); แบบสอบถามตกลง , 1 แถวได้รับผลกระทบ (0.18 วินาที)mysql> แทรกลงในค่า AgeCalculatesDemo (date_add (ตอนนี้ (), ช่วงเวลา -19 ปี)); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.15 วินาที) mysql> แทรกลงในค่า AgeCalculatesDemo ('2010-4- 05');แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.25 วินาที)

ตอนนี้คุณสามารถแสดงระเบียนทั้งหมดโดยใช้คำสั่ง select ต่อไปนี้เป็นคำถาม −

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

ต่อไปนี้เป็นผลลัพธ์ -

<ก่อนหน้า>+---------------------+| YourDateOfBirth |+---------------------+| 1996-12-06 23:35:26 || 2006-12-06 23:35:32 || 1999-12-06 23:35:42 || 2010-04-05 00:00:00 |+---------------------+4 แถวในชุด (0.00 วินาที)

นี่คือข้อความค้นหาที่ใช้คำนวณอายุได้

mysql> เลือก YEAR(CURRENT_TIMESTAMP) - YEAR(YourDateOfBirth) −> - (RIGHT(CURRENT_TIMESTAMP, 5)  จาก AgeCalculatesDemo;

ต่อไปนี้เป็นผลลัพธ์ที่แสดงอายุ -

<ก่อนหน้า>+---------+| YourAge |+---------+| 22 || 12 || 19 || 8 |+---------+4 แถวในชุด (0.00 วินาที)