[pgsql-jp: 38724] Re: Replace関数で"\"を1バイトスペースに置き換える方法について

Takao Kato sirius @ jp.fujitsu.com
2007年 9月 3日 (月) 20:01:30 JST


加藤@川崎です。
# むちゃくちゃひさびさ。。

Bobby  (2007/09/03 19:41):

> Ex.
>  '\abcd\efg\hij'などという文字列が有った場合、
>  ' abcd efg hij'のように"\"を1バイトのスペースに置き換える場合に、
>  Replace関数では、どの様に記述すればよいか教えていただきたいのですが、
>  どなたか分かる方がいらっしゃいましたら、教えてください。

たぶんクオートのし方だけですよね。

=> CREATE FUNCTION dropatsymbol(TEXT) RETURNS TEXT AS 'SELECT REPLACE($1,\'\\\\\',\' \');' LANGUAGE SQL;
                                                                           ~~~~ \を4つ並べるのがポイント
=> CREATE TEMP TABLE TEST (abc TEXT);
=> INSERT INTO TEST VALUES ('abc\\defg\\hijk');     <- 文字列 abc\defg\hijk を挿入
=> SELECT dropatsymbol(abc) as nonslash FROM TEST;
   nonslash
--------------
abc defg hijk

で駄目でしょうか??
# 手打ちなので一行目以外の記載間違いがあったら m(_ _)m
◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇
加藤@川崎




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