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

sắp xếp các chuỗi chữ số trong Oracle 11g

Những gì bạn đã hiển thị trong câu hỏi sắp xếp thứ tự chỉ bằng phần số của giá trị, vì vậy bạn sẽ thấy một cái gì đó như:

TOKEN
------
BRIP.1
BRFL.1
BRBF.1
BR00.1
BRRF.1
BR00.2
BRRF.2
BRBF.2
BR00.3
BRRF.3
BR01.1
BR01.2
BR06.1
BR12.1
BR13.2
BR17.1
BR120 
BR121 
BR132 

Nếu bạn muốn sắp xếp thứ tự theo các ký tự chữ cái và sau đó theo các số bên trong chúng, bạn có thể sử dụng hai biểu thức theo thứ tự theo mệnh đề - vì vậy bạn sắp xếp theo phần chữ cái đầu tiên và sau đó theo số được tạo thành từ những gì còn lại sau tất cả các ký tự chữ cái bị loại bỏ:

select * from sortest
order by regexp_substr(token, '[[:alpha:]]*'),
  to_number(regexp_replace(token, '[[:alpha:]]', null));

TOKEN
------
BR00.1
BR00.2
BR00.3
BR01.1
BR01.2
BR06.1
BR12.1
BR13.2
BR17.1
BR120 
BR121 
BR132 
BRBF.1
BRBF.2
BRFL.1
BRIP.1
BRRF.1
BRRF.2
BRRF.3



  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ạo lại bảng Oracle DUAL

  2. Hành vi truy vấn song song của Oracle với các công cụ IDE dưới dạng SQL Developer hoặc Toad

  3. Các câu lệnh DDL kiểm tra đơn vị cần có trong một giao dịch

  4. Làm cách nào để tạo thư mục thông qua trình tạo biểu mẫu Oracle?

  5. PL / SQL:Sự khác biệt giữa hai ngày