PostgreSQL - bugs - BUG #4055: Using Like in PostgreSQL 8.2.7 and 8.3.1
PostgreSQL 8.2で動いてたSQLが、PostgreSQL 9.0にしたら↑と同じように、bigintでLIKEを使う箇所でエラーになった。
PostgreSQL8.3からは型の使い方が厳密になり、暗黙の型変換をしてくれなくなったために発生したエラーらしい。
キャストを追加してバージョン互換性を保つには — Let's Postgresに対策が書いてあるが、ユーザー定義のCASTではレスポンスが少し心配?(標準のCASTとそれほど変わらない?)
影響箇所が少ない(そもそも数値型にLIKE文なんてレアだ)から、個別対処にしようかな。
ERROR: operator does not exist: bigint ~~ unknown
LINE 1: select * from movimientos where idmovimientos like '178'
^
HINT: No operator matches the given name and argument type(s). You might
need to add explicit type casts.
PostgreSQL 8.2で動いてたSQLが、PostgreSQL 9.0にしたら↑と同じように、bigintでLIKEを使う箇所でエラーになった。
ERROR: operator does not exist: bigint ~~ unknown
(略)
HINT: No operator matches the given name and argument type(s). You might need to add explicit type casts.
PostgreSQL8.3からは型の使い方が厳密になり、暗黙の型変換をしてくれなくなったために発生したエラーらしい。
キャストを追加してバージョン互換性を保つには — Let's Postgresに対策が書いてあるが、ユーザー定義のCASTではレスポンスが少し心配?(標準のCASTとそれほど変わらない?)
影響箇所が少ない(そもそも数値型にLIKE文なんてレアだ)から、個別対処にしようかな。
0 件のコメント:
コメントを投稿