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

Sắp xếp các ký tự trong varchar2 theo thứ tự bảng chữ cái

Từ câu trả lời tại http://forums.oracle.com/forums/thread .jspa? messageID =1791550 điều này có thể hoạt động, nhưng không có 10g để kiểm tra trên ...

SELECT MIN(permutations)
FROM (SELECT REPLACE (SYS_CONNECT_BY_PATH (n, ','), ',') permutations
    FROM (SELECT LEVEL l, SUBSTR ('&col', LEVEL, 1) n
        FROM DUAL
        CONNECT BY LEVEL <= LENGTH ('&col')) yourtable
    CONNECT BY NOCYCLE l != PRIOR l)
WHERE LENGTH (permutations) = LENGTH ('&col')

Trong ví dụ col được định nghĩa trong SQL * Plus, nhưng nếu bạn đặt đây là một hàm, bạn có thể chuyển nó vào hoặc có thể làm lại nó để lấy trực tiếp một cột trong bảng.

Tôi coi đó là điểm khởi đầu hơn là một giải pháp; câu hỏi ban đầu là về đảo ngữ vì vậy nó được thiết kế để tìm tất cả các hoán vị, vì vậy có thể có một cái gì đó tương tự nhưng đơn giản hơn. Tôi nghi ngờ điều này không mở rộng cho các giá trị lớn.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tên người dùng và mật khẩu mặc định cho cơ sở dữ liệu Oracle

  2. Groovy Oracle được lưu trữ Proc - chỉ mục cột ẩn

  3. Toán tử nối chuỗi trong Oracle, Postgres và SQL Server

  4. Thực thi dbms_mview.refresh từ CodeIgniter

  5. Oracle:Phép toán số học dẫn đến lỗi tràn