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

Chức năng Oracle:Sao chép wm_concat

Bạn có gặp thông báo lỗi khi sử dụng wm_concat không? Không giống như các hàm như to_char, nó thuộc sở hữu của wmsys và bạn có thể cần phải sử dụng wmsys.wm_concat để sử dụng nó. (tất nhiên là trừ khi bạn tạo các từ đồng nghĩa cần thiết).

Bây giờ cho câu hỏi thực tế,

Kỹ thuật này được gọi là tổng hợp chuỗi.

Bạn có thể tìm thấy rất nhiều lựa chọn thay thế khác tại đây.

http://www.oracle-base.com/articles/ 10g / StringAggregationTechniques.php Đối với các phương pháp khác, hãy tìm kiếm "stragg" trên http://asktom.oracle.com Một liên kết hữu ích khác: http://www.orafaq.com/node/2290

Đây có lẽ là hàm được sử dụng nhiều nhất. Nhiều nhóm viết các hàm tùy chỉnh của riêng họ mà ít nhiều cũng làm được như vậy.

CREATE OR REPLACE FUNCTION get_employees (p_deptno  in  emp.deptno%TYPE)
  RETURN VARCHAR2
IS
  l_text  VARCHAR2(32767) := NULL;
BEGIN
  FOR cur_rec IN (SELECT ename FROM emp WHERE deptno = p_deptno) LOOP
    l_text := l_text || ',' || cur_rec.ename;
  END LOOP;
  RETURN LTRIM(l_text, ',');
END;
/
SHOW ERRORS

trong khi giải pháp này hoạt động cho varchar2 và number, giải pháp chung tốt nhất có thể được xây dựng bằng giao diện Oracle ODCIAggregate.

http:// download-west .oracle.com / docs / cd / B14117_01 / appdev.101 / b10800 / dciaggfns.htm # sthref462

Việc triển khai tương tự ở liên kết đầu tiên ở trên tại www.oracle-base.com



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Triển khai Khóa lạc quan trong Oracle

  2. Nhận ngày đầu tiên trong tuần từ số tuần

  3. SQL tiêu chuẩn thay thế cho Oracle DECODE

  4. Một thủ tục SQL có thể trả về một bảng không?

  5. Ánh xạ thuộc tính Boolean với Oracle bằng Entity Framework