Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Hàm Oracle để so sánh các chuỗi không theo thứ tự

Điều này có thể được thực hiện với một hàm java đơn giản để sắp xếp các ký tự của một chuỗi theo thứ tự bảng chữ cái:

CREATE AND COMPILE JAVA SOURCE NAMED SORTSTRING AS
public class SortString {
  public static String sort( final String value )
  {
    final char[] chars = value.toCharArray();
    java.util.Arrays.sort( chars );
    return new String( chars );
  }
};
/

Sau đó, bạn có thể tạo một hàm PL / SQL để gọi:

CREATE FUNCTION SORTSTRING( in_value IN VARCHAR2 ) RETURN VARCHAR2
AS LANGUAGE JAVA NAME 'SortString.sort( java.lang.String ) return java.lang.String';
/

Sau đó, bạn có thể thực hiện một phép so sánh đơn giản trên các chuỗi đã sắp xếp:

SELECT CASE
       WHEN SORTSTRING( 'ads' ) = SORTSTRING( 'das' )
       THEN 'Equal'
       ELSE 'Not Equal'
       END
FROM   DUAL;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách chuyển số thành từ - ORACLE

  2. Truy vấn SQL để trả về N hàng từ kép

  3. Thời gian thực hiện truy vấn Oracle

  4. Phân tích cú pháp tệp SQL với PL / SQL và DML / DDL bằng cx_Oracle trong python

  5. Nhà cung cấp 'MSDAORA.1' không được đăng ký trên máy cục bộ