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

MySQL แยกปีจากรูปแบบวันที่?


หากต้องการแยกปีจากรูปแบบวันที่ คุณสามารถใช้ฟังก์ชัน 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 วินาที)