Oracle ย่อยสลาย

Oracle Yxy Slay



Unicode เป็นหนึ่งในมาตรฐานการเข้ารหัสที่มีอิทธิพลและทรงพลังที่สุดในโลกแห่งการพัฒนา Unicode แสดงอักขระจากเกือบทุกภาษาโดยการเข้ารหัสอักขระในรหัสจำนวนเต็มระหว่าง 0 ถึง 0x10ffff

เนื่องจากความเก่งกาจของฐานข้อมูล บางครั้งคุณจะพบว่าตัวเองกำลังแปลงสตริงเป็นตัวแทน Unicode







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



ไวยากรณ์ของฟังก์ชัน Oracle Decompose

ไวยากรณ์ของฟังก์ชันมีดังต่อไปนี้:



ย่อยสลาย ( สตริง [, { 'CANONICAL' | 'ความเข้ากันได้' } ] )

ฟังก์ชันยอมรับสองอาร์กิวเมนต์:





  1. สตริง – นี่แสดงถึงสตริงที่จะแปลงเป็นองค์ประกอบ Unicode ค่าของพารามิเตอร์นี้สามารถเป็น CHAR, VARCHAR, NCHAR, NVARCHAR2, CLOB และ NCLOB
  2. ยอมรับ – การตั้งค่าเป็น Canonical ช่วยให้ฟังก์ชันดำเนินการแยกส่วนตามรูปแบบบัญญัติ ซึ่งช่วยให้จัดองค์ประกอบใหม่เป็นสตริงเดิมได้ หากไม่ได้ระบุ ฟังก์ชันจะใช้พารามิเตอร์นี้เป็นค่าเริ่มต้น
  3. ความเข้ากันได้ – หากตั้งค่าเป็นความเข้ากันได้ ฟังก์ชันจะดำเนินการแยกส่วนในโหมดความเข้ากันได้ โหมดนี้ไม่อนุญาตให้จัดองค์ประกอบใหม่ให้กับสตริงเดิม ใช้ตัวเลือกนี้เมื่อแบ่งตัวอักษรคะตะคะนะแบบครึ่งความกว้างและแบบเต็มความกว้าง

โปรดทราบว่าประเภท CLOB และ NCLOB ได้รับการสนับสนุนผ่านการแปลงอย่างชัดเจน

ตัวอย่างการใช้งานฟังก์ชั่น

ตัวอย่างต่อไปนี้สาธิตวิธีการใช้ฟังก์ชันการสลายตัว () ของฐานข้อมูล Oracle



ตัวอย่างที่ 1 – การใช้งานฟังก์ชันพื้นฐาน

รหัสอย่างง่ายต่อไปนี้แสดงวิธีการใช้ฟังก์ชันการย่อยสลายเพื่อแยกย่อยสตริงเป็นตัวแทน Unicode

เลือกการสลายตัว ('สวัสดี') เป็นเอาต์พุตจากคู่;

การรันโค้ดด้านบนควรส่งคืนสตริงเอาต์พุตเป็น:

ตัวอย่างที่ 2 – รับรหัสแอสกี

ในการดึงค่าจำนวนเต็ม Unicode เราสามารถส่งสตริงผลลัพธ์ไปยังฟังก์ชัน asciistr ดังตัวอย่างด้านล่าง:

เลือก asciistr(decompose('你好')) เป็นเอาต์พุตจาก dual;

เอาท์พุต:

ตัวอย่างที่ 3 – การใช้ฟังก์ชันกับอักขระที่ไม่ใช่ Unicode

หากเราจัดเตรียมฟังก์ชันด้วยอักขระที่ไม่ใช่ Unicode ฟังก์ชันจะส่งคืนสตริงอินพุตโดยไม่มีการแก้ไขใดๆ

ตัวอย่างการสาธิตดังที่แสดง:

เลือก decompose('l') เป็นเอาต์พุตจาก dual;

ผลลัพธ์:

กรณีเดียวกันนี้มีผลแม้ในขณะที่ใช้ฟังก์ชัน asciistr

เลือก asciistr(('l')) เป็นเอาต์พุตจากคู่;

เอาท์พุต:

ตัวอย่างที่ 4 – การใช้ฟังก์ชันกับอาร์กิวเมนต์ NULL

ฟังก์ชันจะส่งกลับค่า NULL หากค่าที่ป้อนเป็น NULL

ตัวอย่าง:

เลือก (NULL) เป็นเอาต์พุตจากคู่;

เอาท์พุต:

ตัวอย่างที่ 5 – การเรียกใช้ฟังก์ชันโดยขาดพารามิเตอร์

จำเป็นต้องมีพารามิเตอร์สตริงในฟังก์ชัน ดังนั้นหากเราส่งค่าสตริงไม่ผ่าน ฟังก์ชันจะส่งกลับข้อผิดพลาดดังรูป:

เลือก () เป็นเอาต์พุตจากคู่;

ผลลัพธ์:

ข้อผิดพลาด SQL: ORA-00938: อาร์กิวเมนต์ไม่เพียงพอสำหรับฟังก์ชัน
00938. 00000 - 'อาร์กิวเมนต์ไม่เพียงพอสำหรับฟังก์ชัน'

บทสรุป

ในบทแนะนำสอนการใช้งานนี้ คุณได้เรียนรู้วิธีใช้ฟังก์ชันdecompose() ของ Oracle เพื่อแปลงสตริงเป็นตัวแทน Unicode