SELECT PATINDEX('%[^a-]%', N'aaa-def' COLLATE Latin1_General_BIN), PATINDEX('%[^-a]%', N'aaa-def' COLLATE Latin1_General_BIN) , PATINDEX('%[^a-]%', 'aaa-def' COLLATE Latin1_General_BIN), PATINDEX('%[^-a]%', 'aaa-def' COLLATE Latin1_General_BIN)プレ>返品
---------- ----------- ----------- ----------- 1 5 5 5コード> プレ>
varcharのようです 末尾の-のデータ型nvarcharの場合はセットの一部として扱われます 無視されます (aのような不正な範囲として扱われます) も無視されますか?)LIKE の BOL エントリ
-の使用方法について明示的に述べていません[]内 セットの一部として扱われるようにしますが、例がありますLIKE '[-acdf]'プレ>
-、a、c、d、または fに一致する したがって、セットの最初のアイテムである必要があると想定しています(つまり、その[^a-zA-Z0-9.~_-][^-a-zA-Z0-9.~_]に変更する必要があります )。これは、上記のテスト結果とも一致します。