[pgsql-jp: 27982] Re: 文字列を数値でselect する方法

Takahiro Matsuura kaiyodai @ mac.com
2002年 11月 16日 (土) 12:37:13 JST


松浦です。

>なんかよくわかりませんが(そもそもなぜシングルクォートを使いたくないのか)
>正規表現じゃだめなんですか?

もともとがInformixを使っている環境です。
オペレータがちょっとしたことをやりたいときに、
dbaccessを使って直接SQLを使う方法を教えました。

もとのDB設計の意図がわからなく(私は途中から手を加えるように
なりました)、intで表せるところもcharで設定されています。
格納される値も'   1234'や'00012'などパターンがいろいろ有るのです。
#それぞれ別の列ですが。

dbaccessだと、オペレータからみると数字で表現される
ところを where 列名=数字、のような直感的な書き方ができました。
シングルクウォートがなくても欲しい結果が出力されました。

psqlでは、このままではどの列が文字列で、また桁数はいくつで、
正規表現はどれで、というような一覧表を作らないといけなくなります。
そこでSQLの使い方がdbaccessのときと変わらなければいいな、と。
つまり正規表現を使うのでも今までと異なるSQLを書かなければ
いけなくなるので期待とはずれてしまいます。

根本はPostgreSQLに移す時点でDB自体を作りなおせばよいのですが、
バグの発生率を増やしてしまうので、とりあえずpqslで対応できないかと
考えた次第です。

教えていただいた方法を試してみて良い対策を考えてみます。
#ちょっとあきらめ気味ですが。
他にもアイデアが有れば皆さんお聞かせ願えないでしょうか?
dbaccessに対応するアプリを作成する、という手も考えましたが
時間がかかりそうです...

--
matsu





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