ด้วยสํานึกในพระมหากรุณาธิคุณสมเด็จพระนางเจ้าสิริกิติ์เป็นล้นพ้นอันหาที่สุดมิได้
ด้วยสํานึกในพระมหากรุณาธิคุณสมเด็จพระนางเจ้าสิริกิติ์เป็นล้นพ้นอันหาที่สุดมิได้


การเก็บข้อมูลวันที่ ในฐานข้อมูล กับคำสั่ง sql ในการค้นหา

เขียนเมื่อ 16 ปีก่อน โดย Ninenik Narkdee
mysql ค้นหา วันที่

คำสั่ง การ กำหนด รูปแบบ ตัวอย่าง เทคนิค ลูกเล่น การประยุกต์ การใช้งาน เกี่ยวกับ mysql ค้นหา วันที่

ปัจจุบัน นักพัฒนาสามารถ ใช้ ChatGPT | Gemini | Claude | Perplexity | Deepseek ช่วยในการแก้ไขปัญหาต่างๆ ในการเขียนโปรแกรม หรือหาข้อมูลเพิ่มเติมได้ง่ายและสะดวก แนะนำให้ทุกคนใช้งานเพื่อพัฒนาศักยภาพของตัวเอง

ดูแล้ว 45,031 ครั้ง


การกำหนดประเภทของ field ในตารางฐานข้อมูลเป็น date หรือ datetime ทำให้เราสามารถ
จัดการข้อมูลเกี่ยวกับวันที่ได้ดังต่อไปนี้
รูปแบบข้อมูล
date = 0000-00-00 ,
ปี 4 หลัก เช่น 2010 ,2011 เป็นต้น
เดือน 2 หลัก , เช่น 01 ถึง 12
วันที่ 2 หลัก เช่น  01 ถึง 31

datetime = 0000-00-00 00:00:00
ปี 4 หลัก เช่น 2010 ,2011 เป็นต้น
ดือน 2 หลัก , เช่น 01 ถึง 12
วันที่ 2 หลัก เช่น  01 ถึง 31
ชั่วโมง 2 หลัก เช่น 00 ถึง 23
นาที 2 หลัก เช่น 00 ถึง 59
วินาที 2 หลัก เช่น 00 ถึง 59

ตัวอย่างเงื่อนไขการค้นหาข้อมูลเกี่ยวกับวันที่
ตาราง test_date
/// date_id ///     /// date_time //
1                         2009-04-13
2                         2009-12-01
3                         2010-03-01
4                         2010-03-01
5                         2010-04-12
6                         2010-04-13

1.ต้องการข้อมูลรายการในปี 2009
 

SELECT * FROM test_date WHERE date_time like '2009%'

 

2.ต้องการหาข้อมูลของเดือน เมษายน (04) ของทุกปี
 

SELECT * FROM test_date WHERE substr(date_time,6,2)='04'

 

3.ต้องการหาข้อมูลของเดือน มีนาคม (03) ปี 2010
 

SELECT * FROM test_date WHERE date_time like '2010-03%'

 

4.ต้องการหาข้อมูลช่วงตั้งแต่วันที่ 2009-12-01 ถึง 2010-03-31
 

SELECT * FROM test_date WHERE (date_time between '2009-12-01' and '2010-03-31')

 

5.ต้องการหาข้อมูลช่วงของเดือนธันวาคมปี 2009 ถึง กุมภาพันธ์ ปี 2010
 

SELECT * FROM test_date WHERE (date_time between 'date_format('2009-12-01','%Y-%m-01')' and 'date_sub(date_add(date_format('2010-02-12','%Y-%m-01'),interval 1 month),interval 1 day)')

 

 
 



   เพิ่มเติมเนื้อหา ครั้งที่ 1 วันที่ 24-08-2017


ต้องการข้อมูลรายการในปี 2009

SELECT * FROM tbl2 WHERE YEAR(date_time) ='2009'


ต้องการหาข้อมูลของเดือน เมษายน (04) ของทุกปี

SELECT * FROM tbl2 WHERE MONTH(date_time)='04'


ต้องการหาข้อมูลของเดือน มีนาคม (03) ปี 2010

SELECT * FROM tbl2 WHERE DATE_FORMAT(date_time,'%Y-%m')='2010-03'









เนื้อหาที่เกี่ยวข้อง









URL สำหรับอ้างอิง








เว็บไซต์ของเราให้บริการเนื้อหาบทความสำหรับนักพัฒนา โดยพึ่งพารายได้เล็กน้อยจากการแสดงโฆษณา โปรดสนับสนุนเว็บไซต์ของเราด้วยการปิดการใช้งานตัวปิดกั้นโฆษณา (Disable Ads Blocker) ขอบคุณครับ