VARCHAR2フィールドに余分なスペースが配置されていることと、比較の問題が心配です。トリミングまたは変換してそれらを比較する方法があることは知っていますが、コードが乱雑でバグが多いのではないかと心配しています。
それは実際にはまったく逆です。 CHARを使用すると、文字列が短すぎる場合はスペースを埋めることで、文字列を強制的に固定長にします。したがって、データを使用しているアプリでCHARを通常の文字列と比較する場合、そのアプリは毎回トリムを追加する必要があります。言い換えれば、VARCHAR2は、よりクリーンなコードに自然につながる選択です。
一般的に、常に CHAR列が必要な特別な理由がない限り、VARCHAR2を使用してください。
フロントまたはエンドに余分なスペースがある文字列が心配な場合は、いくつかのオプションが思い浮かびます。
- 挿入する前に、挿入を実行しているプロセスがトリムを実行していることを確認してください。
- 文字列=trim(string)であることを保証するチェック制約を列に追加します。
- 挿入前の行レベルのトリガーを追加して、文字列が挿入されるときに文字列をトリミングします。
- テーブルをクエリするときは、必ず文字列をトリミングしてください