sql >> データベース >  >> RDS >> Sqlserver

末尾にスペースがある値と一致するSQLWHERE句

    これが期待される結果です。SQLServerでは= オペレーターは、比較を行うときに末尾のスペースを無視します。

    SQL Serverは、文字列とスペースを比較する方法について、ANSI / ISO SQL-92仕様(セクション8.2、一般規則#3)に従います。 ANSI規格では、比較に使用される文字列をパディングして、比較する前に長さが一致するようにする必要があります。パディングは、WHERE句とHAVING句の述語、およびその他のTransact-SQL文字列の比較のセマンティクスに直接影響します。たとえば、Transact-SQLは、文字列「abc」と「abc」をほとんどの比較操作で同等と見なします。

    このルールの唯一の例外は、LIKE述語です。 LIKE述語式の右側に末尾にスペースがある値が含まれている場合、SQL Serverは、比較が行われる前に2つの値を同じ長さにパディングしません。 LIKE述語の目的は、定義上、単純な文字列等価性テストではなくパターン検索を容易にすることであるため、これは前述のANSISQL-92仕様のセクションに違反しません。

    ソース



    1. postgresql.conf、パラメーターを一度に減らす

    2. MySQLの単一引用符、二重引用符、逆引用符の使用法の説明

    3. PostgreSQLのORDERBY句でALIASを使用するにはどうすればよいですか?

    4. MySQLの複数列の外部キー?