3

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 式のどこが間違っていますか?

4

1 に答える 1

7

文字列を 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 オートコレクト環境からコピー/貼り付けを行った場合に発生する可能性があります。オートコレクトは、ダッシュを見栄えの良いダッシュにサイレントにアップグレードします。

于 2015-06-07T19:54:58.503 に答える