การดึงเดือนและปีจาก Datetime ใน SQL Server 2005

เมื่อทำงานกับฐานข้อมูล มักเกิดความต้องการในการจัดการข้อมูลวันที่และเวลาเพื่อนำส่วนประกอบที่เฉพาะเจาะจงออกมา ใน SQL Server 2005 ความต้องการทั่วไปคือการดึง เดือน และ ปี จากค่า datetime และจัดรูปแบบเป็นข้อความ เช่น ‘ม.ค. 2008’ หากคุณกำลังเผชิญกับความท้าทายนี้ คุณไม่ได้อยู่คนเดียว มาลองสำรวจวิธีการทำให้สำเร็จอย่างมีประสิทธิภาพกันเถอะ

ความท้าทาย

คุณอาจพบว่าฟังก์ชันที่สร้างขึ้นมาแล้วหลายตัว เช่น datepart หรือ convert ไม่ได้ให้ผลลัพธ์ในรูปแบบที่คุณต้องการโดยตรง ซึ่งอาจทำให้คุณเชื่อว่ามีทางออกที่ตรงไปตรงมาในการดึงเดือนและปีในรูปแบบ ‘ม.ค. 2008’ ไม่มี อย่างไรก็ตาม มีวิธีการที่จะทำให้คุณบรรลุเป้าหมายของคุณโดยใช้ไวยากรณ์ SQL

วิธีแก้ปัญหา

เพื่อดึง เดือน และ ปี จาก datetime และรวมเป็นข้อความที่จัดรูปแบบเดียวกัน คุณสามารถใช้ฟังก์ชัน CONVERT สองครั้งร่วมกับการเชื่อมต่อข้อความ นี่คือการแบ่งขั้นตอนการแก้ปัญหา:

ขั้นตอนที่ 1: ใช้ฟังก์ชัน CONVERT

ฟังก์ชัน CONVERT ใน SQL Server ช่วยให้คุณเปลี่ยนประเภทข้อมูลเป็นประเภทอื่น สำหรับวัตถุประสงค์ของเรา คุณจะเปลี่ยนค่าจาก datetime เป็นข้อความ

CONVERT(CHAR(4), date_of_birth, 100) 

โค้ดนี้จะดึงเดือนและปีจากคอลัมน์ที่สมมุติชื่อ date_of_birth สไตล์ 100 จะให้ชื่อเดือนแบบเต็ม

ขั้นตอนที่ 2: ดึงปี

เพื่อดึงปี ให้ใช้ฟังก์ชัน CONVERT อีกครั้งพร้อมกับสไตล์ที่แตกต่างกัน:

CONVERT(CHAR(4), date_of_birth, 120)

นี่จะคืนค่าปีในรูปแบบสี่หลัก (เช่น ‘2008’)

ขั้นตอนที่ 3: รวมผลลัพธ์

เมื่อคุณได้เดือนและปีแยกกันแล้ว คุณสามารถเชื่อมต่อพวกมันเข้าด้วยกันเพื่อสร้างผลลัพธ์ที่ต้องการ

SELECT 
  CONVERT(CHAR(4), date_of_birth, 100) + ' ' + CONVERT(CHAR(4), date_of_birth, 120) AS MonthYear
FROM customers

แบบสอบถามตัวอย่าง

นี่คือวิธีที่แบบสอบถาม SQL ทั้งหมดจะมีลักษณะสำหรับการดึงเดือนและปีจากคอลัมน์ datetime ที่ชื่อว่า date_of_birth ในตารางที่ชื่อว่า customers:

SELECT 
  CONVERT(CHAR(4), date_of_birth, 100) + ' ' + CONVERT(CHAR(4), date_of_birth, 120) AS MonthYear
FROM customers

แหล่งข้อมูลเพิ่มเติม

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับตัวเลือกในการจัดรูปแบบและเข้าใจฟังก์ชัน CONVERT คุณสามารถดูได้ที่ เอกสาร SQL Server อย่างเป็นทางการ.

บทสรุป

การดึงและจัดรูปแบบ เดือน และ ปี จาก datetime ใน SQL Server 2005 นั้นง่ายดายเมื่อคุณทราบวิธีใช้ฟังก์ชัน CONVERT อย่างมีประสิทธิภาพ ด้วยวิธีการข้างต้น คุณสามารถจัดกลุ่มผลลัพธ์ของคุณตามเดือนและปีได้อย่างง่ายดาย ช่วยให้คุณสามารถทำการวิเคราะห์ที่เกี่ยวกับวันที่ได้อย่างราบรื่น

ตอนนี้ คุณสามารถดึงและจัดรูปแบบค่าของ datetime ตามที่ต้องการได้อย่างมั่นใจ!