NANP 形式で電話番号を確認しようとしています。
私はこのコードを使用しています
patindex('+1[2–9][0-9][0-9][2–9][0-9][0-9][0-9][0-9][0-9][0-9]', n)
ただし、期待どおりに機能しません。有効なはずの一部の数値 (+14104536330 など) が式と一致しません。
サンプル コードを使用してSQL Fiddleを作成しました。patindex 式のどこが間違っていますか?
NANP 形式で電話番号を確認しようとしています。
私はこのコードを使用しています
patindex('+1[2–9][0-9][0-9][2–9][0-9][0-9][0-9][0-9][0-9][0-9]', n)
ただし、期待どおりに機能しません。有効なはずの一部の数値 (+14104536330 など) が式と一致しません。
サンプル コードを使用してSQL Fiddleを作成しました。patindex 式のどこが間違っていますか?
文字列を 16 進エディタにコピーすると、次のように[2-9]
表示されます。
+1[2â9][0-9][0-9][2â9][0-9][0-9][0-9][0-9][0-9][0-9]
2 から 9 までの 16 進コードはE2 80 93
で、これは"en dash" の UTF-8 です。したがって、問題は基本的に、おかしなバージョンのダッシュを入力したことです。これは、Outlook、Word、Excel などの Microsoft オートコレクト環境からコピー/貼り付けを行った場合に発生する可能性があります。オートコレクトは、ダッシュを見栄えの良いダッシュにサイレントにアップグレードします。