2

PostgreSQL に、通常はテキスト データを持つ bytea 型の列があります。psql が出力している 8 進数のエスケープ文字ではなく、改行とタブをそのまま使用して、特定の行のその列の値を取得したいと考えています。たとえば、次のように実行します。

psql -Atc 'SELECT my_column from my_table limit 1;'

そして、次のような出力が得られます。

Foo\015\012Bar\011This is some text.

代わりに私が欲しい:

Foo
Bar This is some text.

私がやっていることであるgrepを使用できることはわかっていますが、psqlを介してこれを行う簡単な方法があるかどうか疑問に思っています。値をテキスト型に型キャストしようとしましたが、それは役に立たなかったようです。

4

1 に答える 1

4

この方法で bytea を ascii に変換してみてください:

psql -Atc "SELECT convert_from (my_column, 'SQL_ASCII') from my_table limit 1;"
于 2013-01-10T11:50:53.417 に答える