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

Sử dụng bất hợp pháp loại dữ liệu LONG Oracle

Bạn có thể chuyển đổi giá trị LONG RAW của mình thành BLOB trong khối PL / SQL, sau đó mã hóa base64:

CREATE OR REPLACE FUNCTION to_base64 (
   vcodem     IN FOEMP.COD_EMPR%TYPE,
   vcodempl   IN FOEMP.COD_EMPL%TYPE)
   RETURN VARCHAR2
IS
  l_blob BLOB;
  l_long_raw LONG RAW;
BEGIN
  SELECT fot_empl INTO l_long_raw
    FROM foemp
   WHERE COD_EMPL = vcodempl AND COD_EMPR = vcodem;
  l_blob := TO_BLOB(l_long_raw);
  RETURN UTL_RAW.cast_to_varchar2 (UTL_ENCODE.base64_encode (l_blob));
END;
/

Tất nhiên, thực sự khuyên bạn nên chuyển đổi cột DÀI RAW sang cột LOB nhị phân (BLOB) ; vẫn lưu trữ dữ liệu ở dạng DÀI hoặc DÀI thô hiện nay có vẻ khá cổ hủ.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm cách nào để sử dụng TẠO HOẶC THAY THẾ?

  2. oracle ExecuteNonQuery bị đóng băng trên ASP.Net

  3. Tách kết quả truy vấn sau khi tải XML bằng fn:string-join trong bảng Oracle

  4. Làm cách nào để sử dụng Hibernate Session.doWork (...) cho các điểm lưu / giao dịch lồng nhau?

  5. Tham gia và loại bỏ các Sản phẩm Đề-các