ホームページ >データベース >mysql チュートリアル >SQL の WHERE 句が末尾のスペースのある文字列と一致するのはなぜですか?
末尾のスペースと SQL WHERE 句の一致
SQL では、WHERE 句を使用して、指定された条件に基づいてデータをフィルタリングできます。値を照合する場合、スペースの処理方法を理解することが重要です。
提供されたシナリオでは、クエリを使用して、指定された ZoneReference 値を持つゾーン テーブルから ZoneReferences を選択します。結果には予期せず末尾のスペースが含まれており、データの有効性に関する懸念が生じます。
発生した動作は、SQL Server の WHERE 句の解釈と一致しています。 ANSI/ISO SQL-92 仕様では、比較中に末尾のスペースが無視されることが規定されています。パディングは比較を実行する前に文字列の長さを等しくするために適用され、'abc' と 'abc ' が同等であるとみなされるようにします。
このルールはほとんどの比較演算に当てはまりますが、LIKE 述語には適用されません。 LIKE 述語はパターン検索用に設計されており、右側の末尾のスペースは無視されません。
混乱を避けるため、データ フィールドが適切にトリミングされて末尾のスペースが削除され、正確な結果が得られることを常に確認することをお勧めします。比較結果。
以上がSQL の WHERE 句が末尾のスペースのある文字列と一致するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。