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

จะรับอายุจากฟิลด์ DOB ใน MySQL ได้อย่างไร


ในการรับอายุจากฟิลด์ 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 วินาที )