การกรองวันที่ของ SQL

Kark Rxng Wan Thi Khxng Sql



การกรองข้อมูลตามค่าวันที่ถือเป็นเรื่องปกติเมื่อทำงานกับฐานข้อมูล ตัวอย่างเช่น สามารถช่วยให้เราดึงข้อมูลจากกรอบเวลาที่เฉพาะเจาะจง รวมผลลัพธ์ตามวันที่ที่กำหนด ระบุรูปแบบแนวโน้มในช่วงเวลาหนึ่ง และการดำเนินการอื่น ๆ ที่เกี่ยวข้องกับเวลา

จึงเป็นทักษะที่สำคัญสำหรับนักพัฒนาฐานข้อมูล SQL มีเครื่องมือมากมายในการกรองวันที่ภายในชุดข้อมูลที่กำหนด







เข้าร่วมกับเราในโพสต์นี้ในขณะที่เราสำรวจวิธีการและเทคนิคต่างๆ ที่เราสามารถใช้เพื่อกรองวันที่ในโลกของ SQL



ข้อกำหนดเบื้องต้น:

ก่อนที่เราจะเจาะลึกตัวอย่างและการใช้งานจริง ให้เราแจกแจงสิ่งที่คุณต้องการสำหรับตัวอย่างนี้ก่อน



ในโพสต์นี้ เราจะพยายามปฏิบัติตามวิธีการที่สามารถนำไปใช้กับฐานข้อมูล SQL เกือบทั้งหมดได้ อย่างไรก็ตาม เพื่อวัตถุประสงค์ในการสาธิต เราใช้ MySQL เวอร์ชัน 8 กับฐานข้อมูลตัวอย่าง Sakila





อย่างไรก็ตาม คุณสามารถดาวน์โหลดและใช้ชุดข้อมูลใดก็ได้ที่คุณต้องการได้ฟรี เราจะชี้ให้เห็นอย่างแน่นอนว่าวิธีการที่ให้มาสามารถทำงานในฐานข้อมูลอื่นได้หรือไม่ และเสนอทางเลือกอื่นหากมี

กรองวันที่ที่ระบุ

การดำเนินการกรองวันที่ขั้นพื้นฐานที่สุดคือจุดที่เราต้องดึงข้อมูลบันทึกหรือหลายบันทึกสำหรับวันที่ที่ระบุ



ในกรณีเช่นนี้ เราสามารถใช้คำสั่งย่อย WHERE ตามด้วยคอลัมน์วันที่และค่าวันที่จริงที่เราต้องการดึงข้อมูล

ตัวอย่างเช่น สมมติว่าเราต้องการค้นหาบันทึกการเช่าที่เกิดขึ้นในวันที่ 24 พฤษภาคม พ.ศ. 2548 เราสามารถเรียกใช้แบบสอบถามได้ดังนี้:

เลือก *
จาก การเช่า
โดยที่ rent_date = '2005-05-24 23:03:39' ;

ในกรณีนี้ เราจะระบุวันที่ที่ต้องการกรองเป็นค่าการประทับเวลา เนื่องจากคอลัมน์ 'rental_date' เก็บค่าเป็นการประทับเวลา

กรองช่วงวันที่

การดำเนินการทั่วไปประการที่สองคือการกรองข้อมูลตามช่วงวันที่ที่ระบุ ตัวอย่างเช่น สมมติว่าเราต้องการดึงข้อมูลการเช่าที่เกิดขึ้นระหว่างเดือนพฤษภาคม 2548 ถึงมิถุนายน 2548

เราสามารถเรียกใช้แบบสอบถามได้ดังนี้:

เลือก
*
จาก
เช่า
ที่ไหน
เช่า_วันที่ระหว่าง '2005-04-01 00:00:00' และ '2005-06-01 00:00:00' ;

ในกรณีนี้ เราใช้ตัวดำเนินการ AND เพื่อรวมค่าสองค่าเข้าด้วยกัน ส่วนคำสั่ง WHERE ถูกใช้โดยที่ค่าใดๆ จากคอลัมน์ 'rental_date' ต้องอยู่ระหว่างสองช่วง

ตัวอย่างผลลัพธ์จะเป็นดังนี้:

กรององค์ประกอบวันที่

ในกรณีอื่นๆ แทนที่จะใช้ช่วงวันที่โดยใช้ค่าตามตัวอักษร เราสามารถแยกส่วนประกอบวันที่ที่ระบุออกจากค่าและกรองตามนั้นได้

ตัวอย่างเช่น แทนที่จะระบุตั้งแต่ 2005-04-01 และ 2005-06-01 เราสามารถแยกเดือนพฤษภาคมและกรองข้อมูลใดๆ ที่อยู่ภายในเดือนนั้นได้

ใน MySQL เราสามารถใช้ฟังก์ชันเช่นฟังก์ชัน MONTH() เพื่อให้บรรลุเป้าหมายนี้ ดังแสดงในตัวอย่างต่อไปนี้:

เลือก
*
จาก
เช่า
ที่ไหน
เดือน ( เช่า_วันที่ ) = 5 ;

ในกรณีนี้ MONTH(rent_date) จะแยกส่วนของเดือนออกจากวันที่ จากนั้นเราสามารถใช้ค่านี้กรองโดยที่ค่าเท่ากับ 5 พฤษภาคม

บทสรุป

ในบทช่วยสอนนี้ เราได้เรียนรู้เกี่ยวกับงานพื้นฐานและงานทั่วไปงานหนึ่งใน SQL โดยที่เรากรองข้อมูลตามค่าวันที่ เราเรียนรู้วิธีการแยกส่วนประกอบต่างๆ จากวันที่ และใช้เพื่อกรองวันที่และอื่นๆ