บทช่วยสอนนี้จะแสดงวิธีใช้ฟังก์ชัน to_date เพื่อแปลงสตริงอินพุตที่กำหนดเป็นประเภทข้อมูลวันที่
ฟังก์ชัน Orale to_date()
ฟังก์ชัน to_date() ใน Oracle ช่วยให้คุณแปลงวันที่สตริงที่กำหนดให้เป็นประเภทวันที่ได้
ไวยากรณ์ของฟังก์ชัน:
TO_DATE(ถ่าน [, fmt [, 'nlsparam' ] ])
ฟังก์ชันยอมรับสามอาร์กิวเมนต์หลัก:
- อาร์กิวเมนต์แรกคือถ่านซึ่งกำหนดสตริงวันที่อินพุต ค่าอินพุตสามารถเป็น CHAR, VARCHAR2, NCHAR หรือ NVARCHAR2
- fmt – พารามิเตอร์ที่สองคือ fmt พารามิเตอร์นี้กำหนดรูปแบบโมเดลวันที่และเวลาของค่าอินพุต คุณสามารถข้ามพารามิเตอร์นี้ได้หากค่าอินพุตเป็นไปตามรูปแบบเริ่มต้นของ วว-จันทร์-ปป เช่น 01-JAN-2022
หากรูปแบบเป็น Julian ซึ่งแสดงเป็น J ค่าที่ป้อนต้องเป็นประเภทจำนวนเต็ม
ค่าอินพุตสามารถครอบคลุมในรูปแบบต่อไปนี้:
- nlsparam – สุดท้าย พารามิเตอร์ nlsparam ใช้เพื่อระบุภาษาสำหรับข้อมูลและเดือนในสตริง รูปแบบคือ NLS_DATE_FORMAT = ภาษา Oracle จะตั้งค่าเริ่มต้นเป็นภาษาเริ่มต้นของเซสชันของคุณ
ตัวอย่างการใช้งานฟังก์ชั่น
ต่อไปนี้เป็นตัวอย่างของฟังก์ชัน to_date ในฐานข้อมูล Oracle:
ตัวอย่างที่ 1 – การแปลงพื้นฐาน
ตัวอย่างด้านล่างแสดงวิธีใช้ฟังก์ชัน to_date เพื่อแปลงสตริงอักขระที่กำหนดเป็นวันที่
เลือก to_date('10 มกราคม 2023', 'เดือน dd, YYYY')จากคู่;
ในกรณีนี้ เราจะแปลงสตริงวันที่ให้เป็นประเภทวันที่โดยใช้รูปแบบเดือน dd, YYYY
ค่าผลลัพธ์จะแสดง:
TO_DATE('JANUARY102023','MONTHDD,YYYY')2023-01-10
ตัวอย่างที่ 2 – แปลงวันที่และเวลาเป็นประเภทวันที่
ตัวอย่างที่สองแสดงวิธีแปลงสตริงอักขระให้เป็นวันที่
เลือก to_date('10 มกราคม 2023, 1:03', 'เดือน dd, YYYY, HH:MI P.M.')
จากคู่;[/cc]
ในกรณีนี้ เราจำเป็นต้องระบุรูปแบบเวลาเป็น HH:MI P.M.
ผลลัพธ์ที่ได้จะเป็นดังที่แสดง:
TO_DATE('10 มกราคม 2023,1:03','MONTHDD,YYYY,HH:MIP.M.')2023-01-10 01:03:00 น
ตัวอย่างที่ 3 – การระบุพารามิเตอร์ภาษา
พิจารณาตัวอย่างด้านล่างที่แสดงวิธีใช้ฟังก์ชัน to_date กับพารามิเตอร์ nls_date_language
select to_date('10 มกราคม 2023, 01:03', 'เดือน dd, YYYY, HH:MI P.M.', 'nls_date_language=American')จากคู่;
สิ่งนี้ควรส่งคืนค่า:
2023-01-10 01:03:00 นเมื่อเราเปลี่ยนภาษาเซสชันเป็น:
แก้ไขชุดเซสชัน nls_territory = 'ออสเตรเลีย';แปลงเวลา
select to_date('10 มกราคม 2023, 01:03', 'เดือน dd, YYYY, HH:MI P.M.', 'nls_date_language=American')จากคู่;
บทสรุป
ในโพสต์นี้ เราจะสำรวจการใช้ฟังก์ชัน to_date ในฐานข้อมูล Oracle เพื่อแปลงวันที่ป้อนตามตัวอักษรเป็นประเภทวันที่