web-dev-qa-db-ja.com

フィールドに英数字以外の文字のみが含まれるSQL行を返します

SQLサーバーテーブルの特定のフィールドに含まれる行の数に英数字以外の文字のみが含まれているかどうかを調べる必要があります。

[^ a-zA-Z0-9]の行に沿って必要な正規表現だと思っていますが、有効な英数字が含まれていない場合に行を返す必要がある正確な構文はわかりません。

27
marcusstarnes

SQL Serverには正規表現がありません。同じではないLIKEパターンマッチング構文を使用します。

それが起こると、あなたは近くにいます。先頭と末尾のワイルドカードが必要で、NOTを移動します

 WHERE whatever NOT LIKE '%[a-z0-9]%'
47
gbn

短い文字列がある場合は、いくつかのLIKEパターン('[^a-zA-Z0-9]''[^a-zA-Z0-9][^a-zA-Z0-9]'、...)異なる長さの文字列に一致します。それ以外の場合は、CLRユーザー定義関数と適切な正規表現を使用する必要があります- 正規表現によりパターンマッチングとデータ抽出が容易になります

2
Crack