0

SQL Server では、*特殊文字を使用できない列を検証していますが、 *eだけで空白スペースを許可する必要があります。

これが私が使用したクエリです

select count(full_name) 
from stg_contact_details where full_name like '%[^a-Z0-9]%' 
and full_name like '% %'

例: full_name = Suresh krishna (動作する) full_name = Suresh%krishna (動作する) full_name = Suresh% krishna (カウントをスローしない)

列に特殊文字が存在する場合は、エラーがスローされます。しかし、スペースだけが来る場合は無視する必要があります。

手がかりを教えてください。

ありがとうカイラス

4

1 に答える 1

0

'%'はLIKE構文上特別な意味があるため、エスケープする必要があります。

例えば:

select * from stg_contact_details 
where full_name like '%[^a-Z0-9]%' and full_name like '% %' 
and full_name not like '%@%%' escape '@'

このクエリは@エスケープ文字として使用されます。したがって、エスケープ文字の後の最初の文字は通常の文字として扱われますが、最初と最後%は特殊文字として扱われます。

詳細:SQL LIKE、セクションSQLLIKE条件-エスケープ文字の使用例を参照してください

于 2013-03-07T07:20:38.950 に答える