Как определить, содержит ли строка, по крайней мере, номер (цифру) в SQL Server 2005?
Как определить, содержит ли строка хотя бы число?
Ответ 1
Используйте это:
SELECT * FROM Table WHERE Column LIKE '%[0-9]%'
Ответ 2
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'
Ответ 3
Самый простой способ - использовать 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
Ответ 4
- Вы можете использовать UDF на основе CLR или выполнить запрос CONTAINS, используя все цифры в столбце поиска.