[pgsql-jp: 29582] Re: バージョン 7.1.3 での SQL エラーについて
T.Suzuki
t_suzuki @ kenwood-eng.co.jp
2003年 4月 4日 (金) 18:15:15 JST
鈴木と申します。
> バージョン7.1.3の環境において
>
> select * from aaa_tbl where text_field1 <>1;
>
> を実行すると
> ERROR: Unable to identify an operator '<>' for types
> 'text' and 'int4'
> You will have to retype this query using an
> explicit cast
>
> というエラーになります。「これは数値型と文字列型との明示
> 的な型変換が必要だ」と思うのですが、
> バージョン7.3.2の環境だとエラーになりません。
> いつのバージョンから自動変換機能が可能になったのでしょう
> か?
7.2 で実行した所、エラーになりました。
気になったので、オペレータ を見てみました。
7.3のオペレータに、text と int4 の"<>"は追加されてはいなかったので、
暗黙の型変換が行われているのでは無いでしょうか?
#ちょっと自信がありませんが
#PostgreSQL 7.3.2 Documentation Capter 7 Type Conversion を参照
> また設定ファイルなどで設定できるのでしょうか?
方法的には、ユーザ定義のオペレータを作成すれば可能です。
が、この場合、Mizusakoさんがおっしゃるように、明示的に型変換する事を
お勧めします。
-----------------------------------------
鈴木 徹 (SUZUKI Toru)
KENWOOD ENGINEERING CORPORATION
E-mail:t_suzuki @ kenwood-eng.co.jp
-----------------------------------------
pgsql-jp メーリングリストの案内