如何检测一个string是否包含至less一个数字?

如何检测一个string是否包含SQL Server 2005中的一个数字(数字)?

用这个:

SELECT * FROM Table WHERE Column LIKE '%[0-9]%' 

MSDN – LIKE(Transact-SQL)

 DECLARE @str AS VARCHAR(50) SET @str = 'PONIES!!...pon1es!!...p0n1es!!' IF PATINDEX('%[0-9]%', @str) > 0 PRINT 'YES, The string has numbers' ELSE PRINT 'NO, The string does not have numbers' 

最简单的方法是使用LIKE

 SELECT CASE WHEN 'FDAJLK' LIKE '%[0-9]%' THEN 'True' ELSE 'False' END; -- False SELECT CASE WHEN 'FDAJ1K' LIKE '%[0-9]%' THEN 'True' ELSE 'False' END; -- True 
  1. 您可以使用基于CLR的UDF或使用search列上的所有数字执行CONTAINS查询。