PostgreSQL TO_CHAR() สำหรับวันที่

Postgresql To Char Sahrab Wan Thi



เมื่อคุณมีค่าวันที่ในตาราง PostgreSQL คุณสามารถเปลี่ยนรูปแบบได้หลายวิธีโดยใช้ TO_CHAR() TO_CHAR() อนุญาตให้ผู้ใช้แปลงค่าตัวเลข การประทับเวลา ช่วงเวลา หรือจำนวนเต็มเป็นสตริง สำหรับโพสต์นี้ เราจะเน้นที่วิธีใช้ PostgreSQL เพื่อแปลงรูปแบบวันที่ด้วย TO_CHAR()

การทำงานกับ 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() จะไม่สร้างปัญหาให้คุณอีกต่อไป