[pgsql-jp: 35440] Re: 配列の文字列の引用符

Tietew tietew @ tietew.net
2005年 5月 30日 (月) 13:29:41 JST


On Mon, 30 May 2005 11:26:34 +0900
In article <429A79DA.7090200 @ ca2.so-net.ne.jp>
[[pgsql-jp: 35439] Re: 配列の文字列の引用符]
大道 裕 <daidou @ ca2.so-net.ne.jp> wrote:

> 付属ドキュメントをみると、
>       schedule
> --------------------
>  {{meeting},{""}}
> となっていました。「pre-7.2」から変わったようですね(^^!)
> 
> そこで、「"」をエスケープしようとしたのですが、どうしても
> うまくいきません。一番近い(?)のが、
> 
> # insert into test values('{"\"daidou\\",""}');
>  {"daidou\"",""}
> 
> ですが、どうしても{"daidou",""}とすることが出来ません。

PostgreSQLに {"daidou",""} と出力させることはできないと思います。
何故ならば、'{"daidou",""}' という配列 TEXT[] の各要素は 'daidou' 
と '' であり、それを PostgreSQL が出力用に整形した結果は
  {daidou,""}
になるからです。

もし配列の要素がそれぞれ '"daidou"' と '' だったならば、PostgreSQLは
  {"\"daidou\"",""}
と出力します。(これを入力用にescapeすると '{"\\"daidou\\"",""}' です)


―[ Tietew ]――――――――――――――――――――――――――――
Mail: tietew @ tietew.net / tietew @ raug.net
Web : http://www.tietew.net/     Tietew Windows Lab.
PGP fingerprint: 26CB 71BB B595 09C4 0153  81C4 773C 963A D51B 8CAA




pgsql-jp メーリングリストの案内