Oracle
 sql >> डेटाबेस >  >> RDS >> Oracle

Oracle BLOB to base64 CLOB

इस फ़ंक्शन को यहां से मिला है काम करना चाहिए।

CREATE OR REPLACE FUNCTION base64encode(p_blob IN BLOB)
  RETURN CLOB
-- -----------------------------------------------------------------------------------
-- File Name    : http://oracle-base.com/dba/miscellaneous/base64encode.sql
-- Author       : Tim Hall
-- Description  : Encodes a BLOB into a Base64 CLOB.
-- Last Modified: 09/11/2011
-- -----------------------------------------------------------------------------------
IS
  l_clob CLOB;
  l_step PLS_INTEGER := 12000; -- make sure you set a multiple of 3 not higher than 24573
BEGIN
  FOR i IN 0 .. TRUNC((DBMS_LOB.getlength(p_blob) - 1 )/l_step) LOOP
    l_clob := l_clob || UTL_RAW.cast_to_varchar2(UTL_ENCODE.base64_encode(DBMS_LOB.substr(p_blob, l_step, i * l_step + 1)));
  END LOOP;
  RETURN l_clob;
END;
/

फिर अपडेट कुछ इस तरह दिख सकता है

UPDATE test SET imageBase64 = base64encode(image);

ध्यान दें कि हो सकता है कि फ़ंक्शन को उस संयोजन ऑपरेटर के बजाय फ़ंक्शन DBMS_LOB.APPEND के साथ अनुकूलित किया जाना चाहिए। कोशिश करें कि अगर आपको प्रदर्शन की समस्या है।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. स्तंभ नाम लाने के लिए Oracle क्वेरी

  2. ORACLE SQL विंडो फ़ंक्शन का उपयोग करके कुल और दिन का कुल चल रहा है

  3. आप नोड-ओरेक्लेडब का उपयोग करके एलडीएपी सर्वर से कैसे जुड़ते हैं?

  4. क्वेरी से परिणाम प्राप्त करें

  5. चयन में MAX के साथ एकल-समूह समूह फ़ंक्शन नहीं है