- PR -

Oracleのchar型について

1
投稿者投稿内容
未記入
会議室デビュー日: 2005/05/10
投稿数: 3
投稿日時: 2005-05-10 23:18
非常に初歩的な質問で申し訳ないです。
OracleのCHAR型において
桁不足のデータを登録した場合
末尾にスペースが入りますが
このデータを検索する際に
末尾にスペースをいれずにヒットするのはなぜでしょう?
例:
Exp_CD CHAR(4)としてデータ'001'を登録
DB上のデータは'001 'だが
SELECT文のwhere条件で Exp_CD = '001'で検索ヒット

また、この'001'部分が他のテーブルとの
結合項目(VARCHAR2(4)で'001')の場合はNG?






もしもし
ぬし
会議室デビュー日: 2004/10/15
投稿数: 280
投稿日時: 2005-05-11 09:00
ども、もしもしです。

検索には何を使われました(例:SQL*Plus)?
SQL*Plus だと空白埋め比較セマンティクスで検索するのでヒットしてしまう
ようですが、Java なんかだと(というより普通の開発言語では)非空白埋め
比較セマンティクスなのでヒットしなかったりします。

「Oracle9i SQL リファレンス」の「データ型の比較規則」が参考になるのでは
ないかとおもいます。
未記入
会議室デビュー日: 2005/05/10
投稿数: 3
投稿日時: 2005-05-11 22:22
リファレンス読みました。
勉強になりました。
ありがとうございました。
1

スキルアップ/キャリアアップ(JOB@IT)