UUDECODE¶
UUDECODE
関数を使用して、uuencodeエンコード文字列を UUENCODE
関数によって元々エンコードされた RAW
値に変換およびデコードします。署名は次のとおりです。
UUDECODE(<r> IN RAW)
この関数は RAW
値を返します。
AdvancedServerの UUDECODE
関数を使用して、 UTL_ENCODE.UUENCODE
関数のOracle実装によって作成されたuuencodedデータをデコードする場合、Advancedを呼び出す前に、まずAdvancedServer構成パラメーター utl_encode.uudecode_redwood
を TRUE
に設定する必要がありますOracleが作成したデータに対するサーバー UUDECODE
機能。(たとえば、uuencodeされたデータを含むOracleテーブルをAdvancedServerデータベースに移行した場合、この状況が発生する可能性があります。)
Oracleバージョンの UUENCODE
関数によって作成されたuuencodeされたデータは、AdvancedServerの UUENCODE
関数によって作成されたuuencodeされたデータとは異なる形式になります。その結果、構成パラメーター utl_encode.uudecode_redwood
が TRUE
に設定されていない限り、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コアドキュメントを参照してください。
次の例では、 UUENCODE
と UUDECODE
を使用して、文字列を最初にエンコードしてからデコードします。
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)