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

Đảo ngược chuỗi Word bằng Word sử dụng SQL

Phiên bản dựa trên XML để tránh xác định chức năng của riêng bạn; yêu cầu 11g cho listagg() :

select listagg(word, ' ') within group (order by rn desc) as reversed
from (
  select word, rownum as rn
  from xmltable('for $i in ora:tokenize($STR, " ") return $i'
    passing 'Hello World! I Love StackOverflow' as str
    columns word varchar2(4000) path '.'
  )
);

REVERSED                               
----------------------------------------
StackOverflow Love I World! Hello        

XMLTable() thực hiện mã hóa, và chỉ định một số hàng:

select rownum as rn, word
from xmltable('for $i in ora:tokenize($STR, " ") return $i'
  passing 'Hello World! I Love StackOverflow' as str
  columns word varchar2(4000) path '.'
);

        RN WORD               
---------- --------------------
         1 Hello                
         2 World!               
         3 I                    
         4 Love                 
         5 StackOverflow        

listagg() sau đó ghép nó lại với nhau theo thứ tự ngược lại.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. không thể nhận tham số từ thủ tục oracle được thực thi bởi mybatis

  2. Oracle SQL - Xác định phạm vi giá trị tuần tự

  3. ORA-01652:Không thể mở rộng phân đoạn tạm thời bằng 128 trong không gian bảng HỆ THỐNG:Làm thế nào để mở rộng?

  4. thay đổi cột thả bảng trong cơ sở dữ liệu oracle

  5. Làm thế nào để thay đổi cấu trúc bảng trong Oracle?