UUDECODE

UUDECODE 関数を使用して、uuencodeエンコード文字列を UUENCODE 関数によって元々エンコードされた RAW 値に変換およびデコードします。署名は次のとおりです。

UUDECODE(<r> IN RAW)

この関数は RAW 値を返します。

AdvancedServerの UUDECODE 関数を使用して、 UTL_ENCODE.UUENCODE 関数のOracle実装によって作成されたuuencodedデータをデコードする場合、Advancedを呼び出す前に、まずAdvancedServer構成パラメーター utl_encode.uudecode_redwoodTRUE に設定する必要がありますOracleが作成したデータに対するサーバー UUDECODE 機能。(たとえば、uuencodeされたデータを含むOracleテーブルをAdvancedServerデータベースに移行した場合、この状況が発生する可能性があります。)

Oracleバージョンの UUENCODE 関数によって作成されたuuencodeされたデータは、AdvancedServerの UUENCODE 関数によって作成されたuuencodeされたデータとは異なる形式になります。その結果、構成パラメーター utl_encode.uudecode_redwoodTRUE に設定されていない限り、OracleuuencodedデータでAdvancedServer UUDECODE 機能を使用しようとするとエラーが発生します。

ただし、AdvancedServerの UUENCODE 機能によって作成されたuuencodeされたデータに対してAdvancedServerの UUDECODE 機能を使用している場合は、 utl_encode.uudecode_redwood をデフォルト設定の FALSE に設定する必要があります。

Parameters

r

r には、 RAW に変換されるuuencodeされた文字列が含まれます。

Examples

次の例を実行する前に、コマンドを呼び出します。

SET bytea_output = escape;

このコマンドは、印刷できない文字をエスケープし、 BYTEA または RAW の値を読み取り可能な形式で画面に表示するようにサーバーに指示します。詳細については、次のWebサイトで入手可能なPostgresコアドキュメントを参照してください。

次の例では、 UUENCODEUUDECODE を使用して、文字列を最初にエンコードしてからデコードします。

edb=# SET bytea_output = escape;
SET
edb=# SELECT UTL_ENCODE.UUENCODE('What is the date?') FROM DUAL;
                              uuencode
--------------------------------------------------------------------
begin 0 uuencode.txt\01215VAA="!I<R!T:&4@9&%T93\\`\012`\012end\012
(1 row)

edb=# SELECT UTL_ENCODE.UUDECODE
edb-# ('begin 0 uuencode.txt\01215VAA="!I<R!T:&4@9&%T93\\`\012`\012end\012')
edb-# FROM DUAL;
     uudecode
-------------------
What is the date?
(1 row)