การทำงานกับ TO_CHAR()
ไม่ว่าคุณจะต้องการรับวันที่ปัจจุบันในการสืบค้น PostgreSQL หรือทำงานกับวันที่ในตาราง การทำความเข้าใจวิธีแปลงวันที่ให้เป็นสตริงถือเป็นสิ่งสำคัญ บางทีคุณอาจต้องการรูปแบบวันที่ที่สวยงามกว่านี้เป็นเอาต์พุตของคุณ หรือแยกส่วนของวันที่หลังจากแปลงเป็นสตริงแล้ว ไม่ว่าจะเป็นกรณีใดก็ตาม TO_CHAR() ก็เป็นฟังก์ชันในอุดมคติ
นอกจากนี้ TO_CHAR() ยังมีตัวเลือกการจัดรูปแบบมากมายที่คุณสามารถใช้ได้ คุณสามารถรวมตัวเลือกต่างๆ เข้าด้วยกันเพื่อให้ได้ผลลัพธ์ที่ต้องการ
TO_CHAR() ใช้ไวยากรณ์ต่อไปนี้:
TO_CHAR(นิพจน์, รูปแบบ);
นิพจน์คือการประทับเวลาที่คุณต้องการแปลงโดยใช้รูปแบบที่ระบุ
ต่อไปนี้เป็นรูปแบบ TO_CHAR() ที่ใช้กันทั่วไป:
1 ปี
ปปปป – จะแสดงปีเป็นตัวเลข 4 หลัก
ใช่ ปปป – ใช้ลูกน้ำเพื่อแทนตัวเลขสี่หลักในปี
ปปป – โดยแสดงเฉพาะเลขสามหลักสุดท้ายในปีที่กำหนด
ปปป – โดยจะแสดงเฉพาะเลขท้ายสองตัวในปีที่กำหนดเท่านั้น
และ - จะแสดงเฉพาะเลขตัวสุดท้ายในปีที่กำหนด
2 เดือน
เดือน - ใช้ตัวพิมพ์ใหญ่สำหรับชื่อเดือน
เดือน - ใช้ตัวพิมพ์เล็กสำหรับชื่อเดือน
ของฉัน - มันย่อเดือนเป็นตัวพิมพ์ใหญ่
ของฉัน - มันย่อและใช้ตัวพิมพ์ใหญ่ของเดือน
มม – มันแสดงเฉพาะหมายเลขเดือนเท่านั้น
3. วัน
วัน - ชื่อวันตัวพิมพ์ใหญ่
วัน - ชื่อวันตัวพิมพ์เล็ก
คุณ - มันย่อชื่อวันและใช้ตัวพิมพ์ใหญ่
เหล่านั้น - มันย่อและใช้ตัวพิมพ์ใหญ่ชื่อวัน
คุณ- ชื่อวันแบบย่อด้วยตัวพิมพ์เล็ก
4. เวลา
ฮะ – ชั่วโมงของวัน
HH12 – รูปแบบ 12 ชั่วโมง
HH24 – รูปแบบ 24 ชั่วโมง
ของฉัน - นาที
เอสเอส – วินาที
รูปแบบที่กำหนดไม่ใช่รูปแบบ TO_CHAR() เท่านั้นที่คุณสามารถใช้ได้ แต่ยังเป็นรูปแบบที่ใช้บ่อยที่สุด เราจะยกตัวอย่างการใช้งานในโพสต์นี้
ตัวอย่างที่ 1: การแปลงวันที่เป็นสตริง
สำหรับตัวอย่างนี้ เราพิมพ์วันที่เป้าหมายเป็นนิพจน์ของเรา และระบุรูปแบบที่จะแปลง ผลลัพธ์ต่อไปนี้แสดงวิธีที่เราแปลง “2023-11-29” เป็นสตริงที่อ่านและเข้าใจได้มากขึ้น:
ตัวอย่างที่ 2: การทำงานกับวันที่ปัจจุบัน
ใน PostgreSQL นั้น CURRENT_DATE จะให้วันที่สำหรับวันนั้นๆ แก่คุณ
สมมติว่าเราต้องการแปลงมันเป็นสตริง เราจำเป็นต้องใช้ CURRENT_DATE เป็นนิพจน์ของเราเท่านั้น จากนั้นจึงระบุรูปแบบของเรา ตอนนี้คุณได้รับวันที่ปัจจุบันของคุณเป็นสตริง
แต่คุณสามารถเปลี่ยนรูปแบบเป็นรูปแบบอื่นเพื่อให้บรรลุเป้าหมายของคุณได้ เช่น หากเราต้องการแสดงเฉพาะวันที่ เดือน และปี เราก็ปรับแต่งคำสั่งดังนี้
ข้อดีของ TO_CHAR() คือคุณสามารถรวมรูปแบบต่างๆ เข้าด้วยกันเพื่อสร้างรูปแบบสุดท้ายที่คุณต้องการใช้สำหรับเดทของคุณได้ มาดำเนินการต่อและทำงานกับการประทับเวลากันดีกว่า
ตัวอย่างที่ 3: การทำงานกับการประทับเวลา
จนถึงตอนนี้เราทำงานกับเดทเท่านั้น อย่างไรก็ตาม หากวันที่ของคุณมีเวลา คุณสามารถแยกเวลาได้โดยระบุรูปแบบที่เหมาะสมที่สุด
นี่คือตัวอย่างที่เราระบุเพื่อรับเวลาในรูปแบบ 24 ชั่วโมงจากการประทับเวลาที่ให้ไว้ โดยไม่ใส่วันที่:
สำหรับรูปแบบเวลา 12 ชั่วโมง เราใช้ HH12 แทน HH24 ลองดูตัวอย่างต่อไปนี้:
สุดท้ายนี้ หากเราต้องการแยกวันที่และเวลาจากการประทับเวลาที่ให้ไว้ เราเพียงแต่ต้องเพิ่มรูปแบบในอุดมคติที่เราต้องการใช้เท่านั้น ที่นี่ เราระบุเวลาโดยใช้ HH12:MI:SS และเพิ่มตัวคั่น ต่อไปเรากำหนดให้ใช้ “dd, Month, yyyy” สำหรับวันที่
ผลลัพธ์สุดท้ายของเรามีดังนี้:
ตัวอย่างที่ 4: การทำงานกับตาราง
รูปแบบทั้งหมดที่เราพูดคุยและกล่าวถึงสามารถนำไปใช้กับตาราง PostgreSQL ได้ สำหรับตัวอย่างนี้ เรามีตารางชื่อ 'คำสั่งซื้อ' ซึ่งมีคอลัมน์ 'วันที่' ในการเลือกองค์ประกอบจากองค์ประกอบดังกล่าวและใช้ TO_CHAR() สำหรับคอลัมน์ 'วันที่' เราจะดำเนินการคำสั่งของเราดังที่แสดงในภาพต่อไปนี้:
คุณสามารถใช้รูปแบบใดก็ได้ที่คุณต้องการ นี่เป็นคำสั่งเดียวกันแต่มีรูปแบบวันที่ต่างกัน:
หากเราต้องการแสดงเฉพาะวันในสัปดาห์และเดือนจากคอลัมน์วันที่ ต่อไปนี้คือวิธีที่เราปรับแต่งคำสั่ง:
คุณสามารถระบุรูปแบบในอุดมคติที่คุณต้องการใช้กับกรณีของคุณได้
บทสรุป
TO_CHAR() เป็นฟังก์ชัน PostgreSQL ที่มีประโยชน์ซึ่งช่วยให้ผู้ใช้สามารถแปลงการประทับเวลาและตัวอักษรอื่นๆ เป็นสตริงได้ โพสต์นี้สาธิตวิธีการต่างๆ ที่คุณสามารถใช้ TO_CHAR() สำหรับวันที่ เราได้จัดเตรียมตัวอย่างต่างๆ ไว้เพื่อให้แน่ใจว่าคุณจะเข้าใจเนื้อหาได้อย่างรวดเร็ว หวังว่า TO_CHAR() จะไม่สร้างปัญหาให้คุณอีกต่อไป