Oracle phân hủy

Oracle Phan Huy



Unicode là một trong những tiêu chuẩn mã hóa mạnh mẽ và có ảnh hưởng nhất trong thế giới phát triển. Unicode đại diện cho các ký tự từ gần như tất cả các ngôn ngữ bằng cách mã hóa các ký tự theo mã số nguyên từ 0 đến 0x10ffff.

Do tính linh hoạt của cơ sở dữ liệu, thỉnh thoảng bạn sẽ thấy mình đang chuyển đổi một chuỗi thành biểu diễn Unicode của nó.







Trong hướng dẫn này, bạn sẽ tìm hiểu cách sử dụng hàm phân hủy () của cơ sở dữ liệu Oracle để chuyển đổi một biểu diễn đã cho thành biểu diễn Unicode của nó.



Cú pháp hàm phân tách Oracle

Cú pháp hàm như hình dưới đây:



PHÂN BIỆT (chuỗi [, { 'CANONICAL' | 'TƯƠNG THÍCH' } ] )

Hàm chấp nhận hai đối số:





  1. Chuỗi – điều này đại diện cho chuỗi được chuyển đổi thành thành phần Unicode. Giá trị của tham số này có thể là CHAR, VARCHAR, NCHAR, NVARCHAR2, CLOB và NCLOB.
  2. KỸ THUẬT – đặt giá trị thành chính tắc cho phép hàm thực hiện phân tách chính tắc cho phép sắp xếp lại thành chuỗi ban đầu. Nếu không được chỉ định, chức năng sẽ sử dụng tham số này theo mặc định.
  3. KHẢ NĂNG TƯƠNG THÍCH – nếu giá trị được đặt thành tương thích, chức năng sẽ thực hiện phân tách trong chế độ tương thích. Chế độ này không cho phép sắp xếp lại chuỗi ban đầu. Sử dụng tùy chọn này khi phân tách các ký tự katakana nửa chiều rộng và toàn chiều rộng.

Bạn nên nhớ rằng các loại CLOB và NCLOB được hỗ trợ thông qua chuyển đổi rõ ràng.

Ví dụ Chức năng Sử dụng

Các ví dụ sau minh họa cách sử dụng chức năng phân hủy () của cơ sở dữ liệu Oracle.



Ví dụ 1 – Cách sử dụng chức năng cơ bản

Mã đơn giản sau đây cho biết cách sử dụng hàm phân tách để phân tách một chuỗi thành biểu diễn Unicode của nó.

chọn phân hủy ('Xin chào') làm đầu ra từ kép;

Chạy đoạn mã trên sẽ trả về chuỗi đầu ra là:

Ví dụ 2 – Lấy mã ASCII

Để tìm nạp các giá trị số nguyên Unicode, chúng ta có thể chuyển chuỗi kết quả tới hàm asciistr như trong ví dụ bên dưới:

chọn asciistr(decompose('你好')) làm đầu ra từ kép;

Đầu ra:

Ví dụ 3 – Sử dụng hàm với các ký tự không phải Unicode

Nếu chúng ta cung cấp cho hàm các ký tự không phải Unicode, hàm sẽ trả về chuỗi đầu vào mà không có bất kỳ sửa đổi nào.

Một ví dụ trình diễn như được hiển thị:

chọn phân hủy ('l') làm đầu ra từ kép;

Kết quả:

Trường hợp tương tự áp dụng ngay cả khi sử dụng hàm asciistr.

chọn asciistr(('l')) làm đầu ra từ kép;

Đầu ra:

Ví dụ 4 – Sử dụng Hàm với Đối số NULL

Hàm sẽ trả về giá trị NULL nếu giá trị đầu vào là NULL.

Thí dụ:

chọn (NULL) làm đầu ra từ kép;

Đầu ra:

Ví dụ 5 – Gọi hàm thiếu tham số

Tham số chuỗi trong hàm là bắt buộc. Do đó, nếu chúng ta không truyền giá trị chuỗi, hàm sẽ trả về lỗi như sau:

chọn () làm đầu ra từ kép;

Kết quả:

Lỗi SQL: ORA-00938: không đủ đối số cho chức năng
00938. 00000 -  'không đủ đối số cho hàm'

Phần kết luận

Trong hướng dẫn này, bạn đã học cách sử dụng hàm phân hủy () của Oracle để chuyển đổi một chuỗi thành biểu diễn Unicode của nó.