Oracle สตริงจนถึงปัจจุบัน

Oracle String Cnthung Paccuban



บทช่วยสอนนี้จะแสดงวิธีใช้ฟังก์ชัน 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 เพื่อแปลงวันที่ป้อนตามตัวอักษรเป็นประเภทวันที่