Как обнаружить, если строка содержит, по крайней мере, число?

Как обнаружить, если строка содержит, по крайней мере, число (цифра) в SQL-сервере 2005?

50
задан gotqn 7 September 2018 в 00:41
поделиться

4 ответа

Используйте это:

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

MSDN - LIKE (Transact-SQL)

97
ответ дан 7 November 2019 в 10:46
поделиться

Самый простой способ - использовать 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
ответ дан 7 November 2019 в 10:46
поделиться
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' 
9
ответ дан 7 November 2019 в 10:46
поделиться
  1. Вы можете использовать UDF на основе CLR или выполнить запрос CONTAINS, используя все цифры в столбце поиска.
0
ответ дан 7 November 2019 в 10:46
поделиться