sql >> データベース >  >> RDS >> Oracle

LONGデータ型Oracleの不正使用

    LONGRAW値をPL/SQLブロックのBLOBに変換してから、次のように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;
    /
    

    もちろん、LONGRAW列を変換することを強くお勧めしますバイナリLOB(BLOB)列へ ;まだLONGまたはLONG​​rawとしてデータを保存しているのは、今ではかなり時代遅れのようです。



    1. バッチファイルからmysqlをインストールするにはどうすればいいですか?

    2. Oracleで常に小数点以下2桁を取得するための最良の方法は何ですか?

    3. MySQLは各zipコードで最も高価なものを見つけます

    4. PostgreSQLでSETintervalstyleを微調整する(間隔出力を変更する)方法は?