0

3 つの異なる長さ (10、11、および 12) の文字列があります。完全な文字列が入力された場合、ワイルド カード検索を実行したくありませabc1234567abc1234567%。ワイルドカードしたい。

特に弦で結合している場合、これはパフォーマンスにどの程度影響しますか?

4

1 に答える 1

1

次のようにできます。

 WHERE AnotherField LIKE CASE WHEN LEN(MyField) <> 10 --or some other number
                    THEN MyField + '%'
                    ELSE MyField END

ただし、パフォーマンスに関してLIKE MyField +'%'は、行ごとに実行される操作を小さくする必要があります。文字列が最大長の場合、それを超える文字がないため、返される可能性のある誤検知はありません。

于 2012-11-15T20:00:07.280 に答える