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

ประเภทข้อมูล MySQL เพื่อเก็บเดือนและปีเท่านั้น?


คุณต้องเก็บวันที่เป็นวันที่แบบเต็ม แทนที่จะเก็บเพียงเดือนและปี หากคุณประกาศเป็นวันที่และเวลา คุณสามารถแยกเดือนและปีโดยใช้ฟังก์ชัน MONTH() และ YEAR() จาก MySQL

ไวยากรณ์มีดังนี้ −

เลือก MONTH(yourDateTimeColumnName) เป็น anyVariableName1,YEAR(yourDateTimeColumnName) เป็น anyVariableName2from yourTableName;

เพื่อให้เข้าใจไวยากรณ์ข้างต้น ให้เราสร้างตาราง แบบสอบถามเพื่อสร้างตารางมีดังนี้ −

mysql> สร้างตาราง OnlyMonthandYear -> ( -> DueDateTime datetime -> ); ตกลง ตกลง 0 แถวได้รับผลกระทบ (0.56 วินาที)

แทรกวันที่ในตารางโดยใช้คำสั่ง insert แบบสอบถามที่จะแทรกบันทึกมีดังนี้ -

mysql> แทรกลงในค่า OnlyMonthandYear ('2016-12-10'); เคียวรีตกลง, 1 แถวได้รับผลกระทบ (0.19 วินาที)mysql> แทรกลงในค่า OnlyMonthandYear ('2017-10-21'); เคียวรีตกลง 1 แถว ได้รับผลกระทบ (0.15 วินาที) mysql> แทรกลงในค่า OnlyMonthandYear ('2018-03-25'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.31 วินาที) mysql> แทรกลงในค่า OnlyMonthandYear ('2018-12-18'); แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.20 วินาที)

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

mysql> เลือก *จาก OnlyMonthhandYear;
<ก่อนหน้า>+---------------------+| DueDateTime |+--------------------+| 2016-12-10 00:00:00 || 2017-10-21 00:00:00 || 2018-03-25 00:00:00 || 2018-12-18 00:00:00 |+---------------------+4 แถวในชุด (0.00 วินาที)

นี่คือข้อความค้นหาที่แยกเฉพาะเดือนและปีจากคอลัมน์ประเภทข้อมูลวันที่และเวลา

แบบสอบถามมีดังนี้ −

mysql> เลือกเดือน (DueDateTime) เป็นเฉพาะเดือน, ปี (DueDateTime) เป็น OnlyYear จากOnlyMonthandYear;

ผลลัพธ์

<ก่อนหน้า>+-----------+----------+| เฉพาะเดือน | เฉพาะปี |+-----------+----------+| 12 | 2016 || 10 | 2017 || 3 | 2018 || 12 | 2018 |+-----------+----------+4 แถวในชุด (0.02 วินาที)