หากต้องการแยกปีจากรูปแบบวันที่ คุณสามารถใช้ฟังก์ชัน YEAR() ที่สร้างขึ้นจาก MySQL ได้ แบบสอบถามมีดังนี้ −
mysql> เลือกปี (curdate()) เป็น OnlyYearFromCurrentDate;
ต่อไปนี้เป็นผลลัพธ์ -
<ก่อนหน้า>+-----------------------------------+| OnlyYearFromCurrentDate |+-----------------------------------+| 2018 |+-----------------------------------+1 แถวในชุด (0.00 วินาที)หรือคุณสามารถทำได้ด้วยวิธีต่อไปนี้ -
mysql> เลือกปี (วันที่ (ตอนนี้ ())) เป็น OnlyYearFromCurrentDate;
ต่อไปนี้เป็นผลลัพธ์ -
<ก่อนหน้า>+-----------------------------------+| OnlyYearFromCurrentDate |+-----------------------------------+| 2018 |+-----------------------------------+1 แถวในชุด (0.00 วินาที)ด้วยวิธีนี้ คุณสามารถทำสิ่งนี้ได้เมื่อคอลัมน์เป็น varchar ให้เราสร้างตารางก่อน -
mysql> สร้างตาราง ExtractYearDemo −> ( −> YourDueTime varchar(200) −> ); ตกลง ตกลง 0 แถวได้รับผลกระทบ (1.15 วินาที)
การแทรกระเบียนลงในตารางโดยใช้คำสั่ง insert แบบสอบถามมีดังนี้ −
mysql> แทรกลงในค่า ExtractYearDemo ('27-10-2011'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.16 วินาที) mysql> แทรกลงในค่า ExtractYearDemo ('28-11-2012'); แบบสอบถามตกลง 1 แถว ได้รับผลกระทบ (0.15 วินาที) mysql> แทรกลงในค่า ExtractYearDemo ('29-12-2018'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.14 วินาที) mysql> แทรกลงในค่า ExtractYearDemo ('01-01-2019'); แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.15 วินาที)
แสดงระเบียนทั้งหมดจากตารางโดยใช้คำสั่ง SELECT แบบสอบถามมีดังนี้ −
mysql> เลือก *จาก ExtractYearDemo;
ต่อไปนี้เป็นผลลัพธ์ -
<ก่อนหน้า>+-------------+| YourDueTime |+-------------+| 27-10-2011 || 28-11-2012 || 29-12-2018 || 01-01-2019 |+-------------+4 แถวในชุด (0.00 วินาที)ต่อไปนี้เป็นแบบสอบถามที่จะแยกปีจากคอลัมน์ตารางเมื่อคอลัมน์เป็นประเภท varchar -
mysql> เลือก YEAR(STR_TO_DATE(yourDueTime, "%d-%m-%Y")) เป็น OnlyYearFromDate จาก ExtractYearDemo;
ต่อไปนี้เป็นผลลัพธ์ที่แสดงปี -
<ก่อนหน้า>+-----------------+| OnlyYearFromDate |+-----------------+| 2011 || 2012 || 2018 || 2019 |+-----------------+4 แถวในชุด (0.00 วินาที)