URL のある列で「不正な」文字を除外しようとしています
私は試した
select seourl from products where seourl like '%[^0-9a-z&;/_.?,!%-]%';
しかし、違法として選択された一見問題のない URL がたくさんありました。だから私はこれを試して、より多くのデバッグ情報を取得しました:
declare @p nvarchar(40)='%[^0-9a-z&;/_.?,!%-]%';
select substring(seourl,patindex(@p,seourl),2) s,
patindex(@p,seourl) n,
seourl from products where
seourl like @p
以下のように、「aa」を含む文字列でヒットしたことがわかりました。
AA 1 AA_Batteri__-_Mignon__1,5_v/1_stk
aa 2 Haarboerste
照合順序が Danish_Norwegian_CI_AS で、aa が å,å のようにアルファベット化されているためでしょうか。?