ホームページ > データベース > mysql チュートリアル > SQL Server の WHERE 句は文字列比較で末尾のスペースをどのように処理しますか?

SQL Server の WHERE 句は文字列比較で末尾のスペースをどのように処理しますか?

Mary-Kate Olsen
リリース: 2025-01-04 21:12:40
オリジナル
242 人が閲覧しました

How Does SQL Server's WHERE Clause Handle Trailing Spaces in String Comparisons?

末尾のスペースがある値と一致する SQL WHERE 句

SQL Server 2008 では、主キーとして列 ZoneReference を持つ Zone という名前のテーブルについて考えてみましょう。クエリ SELECT '"' ZoneReference '"' AS QuotedZoneReference FROM Zone WHERE ZoneReference = 'WF11XU' を実行すると、予期せず末尾にスペースのある "WF11XU " が返されます。

これは、SQL Server が ANSI/ISO SQL に準拠していることが原因で発生します。 92 仕様では、比較のために文字列が埋め込まれ、長さが一致する場合は同等として扱われます。その結果、'abc' と 'abc ' は等しいとみなされます。

この動作は、末尾のスペースが無視される WHERE 句の述語にも影響します。ただし、例外は LIKE 述語で、式の右側に末尾のスペースがある場合、パディングせずに値を比較します。

比較で末尾のスペースを抑制するには、次の TRIM() 関数の使用を検討してください。クエリまたはデータ操作ステートメント。

以上がSQL Server の WHERE 句は文字列比較で末尾のスペースをどのように処理しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート