如何在SQL Server 2005中检测字符串是否包含特殊字符,例如#,$,^,&,*,@,!等(非字母数字字符)?
如何在SQL Server 2005中检测字符串是否包含特殊字符,例如#,$,^,&,*,@,!等(非字母数字字符)?
假设使用SQL Server:
例如,如果您将特殊字符定义为任何非字母数字字符:
DECLARE @MyString VARCHAR(100)
SET @MyString = 'adgkjb$'
IF (@MyString LIKE '%[^a-zA-Z0-9]%')
PRINT 'Contains "special" characters'
ELSE
PRINT 'Does not contain "special" characters'
只需将不被视为特殊字符的其他字符添加到方括号内即可。
LIKE
,但是方括号中的 ^ 字符实际上表示“不是”。 - BaodadIF (@MyString LIKE '%[^a-zA-Z0-9-]%')
。 - Baodad一种方法是逐个检查每个特殊字符:
SELECT * FROM tableName
WHERE columnName LIKE "%#%" OR columnName LIKE "%$%" OR (etc.)
declare @letra char(1)
set @letra = 'á'
SELECT
col1
,col2
,col3
FROM table WHERE col1 LIKE '%' + @letra + '%' OR col2 LIKE '%' + @letra + '%' OR col3 like '%' + @letra + '%'
- Bachask8