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

Chuyển đổi một loạt các giá trị Số trong Văn bản trong Truy vấn SQL Oracle

Đây là một lựa chọn. Đọc bình luận trong mã. Dữ liệu mẫu trong các dòng # 1 - 13; truy vấn bắt đầu ở dòng số 14.

SQL> with
  2  expl (id, name) as
  3    (select 1, 'car' from dual union all
  4     select 2, 'bus' from dual union all
  5     select 3, 'BB'  from dual union all
  6     select 4, 'SB'  from dual union all
  7     select 5, 'Ba'  from dual union all
  8     select 6, 'PA'  from dual union all
  9     select 7, 'HB'  from dual union all
 10     select 8, 'G'   from dual
 11    ),
 12  temp (col) as
 13    (select '1,4,7,8' from dual),
 14  -- split COL to rows
 15  spl as
 16    (select regexp_substr(col, '[^,]+', 1, level) val,
 17            level lvl
 18     from temp
 19     connect by level <= regexp_count(col, ',') + 1
 20    )
 21  -- join SPL with EXPL; aggregate the result
 22  select listagg(e.name, ',') within group (order by s.lvl) result
 23  from expl e join spl s on s.val = e.id;

RESULT
--------------------------------------------------------------------------------
car,SB,HB,G

SQL>


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. java.lang.UnsupportedOperationException:org.hibernate.dialect.Oracle10gDialect không hỗ trợ tập kết quả thông qua các thủ tục được lưu trữ

  2. sử dụng LIKE và IN với truy vấn con trong sql

  3. Hàm LOCALTIMESTAMP () trong Oracle

  4. OracleCommandBuilder.DeriveParameters () ném OracleException:ORA-06564:đối tượng không tồn tại ORA-06512:tại SYS.DBMS_UTILITY

  5. Làm cách nào để tìm bảng nào tham chiếu đến một bảng nhất định trong Oracle SQL Developer?