読者です 読者をやめる 読者になる 読者になる

misc.log

日常茶飯事とお仕事と

OracleのCHAR型(固定長文字列)とADO経由での検索

業務日誌 DB Oracle

OracleでCHAR定義されたカラムの情報を、ADO経由で検索した際にうまく結果が返らないという相談を受けたのですが……。たしかOracleのCHAR型って、勝手に後ろに空白が入って固定長フルサイズまでパディングされたような。そうすると、厳密な一致という条件で検索された場合、LIKE文で前方一致などによる検索をしないと引っかからないような気がします。というか、固定長文字列にしないといけないかどうか、から本当は検討すべきなんでしょうけど……。


このあたりが参考になるでしょうか??

Microsoft KB 307514、[PRB] LIKE ステートメントが Oracle 文字データ型のデータを返さない
http://support.microsoft.com/kb/307514/ja


こちらでわかりやすく実例を示してもらってますが、Oracleでの検索だと、CHARに対する検索だと空白は良くも悪くも無視してくれるようなのですが、Oracle外からだとだめなんですかね。

Oracle小話その9 CHARとVARCHAR2の違い(へたれエンジニア日記(旧跡地)
http://blog.goo.ne.jp/toritori0318/e/7f42f788cd2bc10df1e91b9cab463c65


その辺も把握した上でDB設計からやらないと、どこかにしわ寄せが出てしまいますね。