如何检测字符串是否至少包含一个数字?

时间:2010-04-01 07:32:34

标签: sql sql-server tsql

如何检测字符串是否至少包含SQL Server 2005中的数字(数字)?

4 个答案:

答案 0 :(得分:91)

使用此:

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

MSDN - LIKE (Transact-SQL)

答案 1 :(得分:9)

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' 

答案 2 :(得分:1)

最简单的方法是使用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

答案 3 :(得分:0)

  1. 您可以使用基于CLR的UDF或使用搜索列上的所有数字执行CONTAINS查询。