Как определить, содержит ли строка хотя бы число? - PullRequest
47 голосов
/ 01 апреля 2010

Как определить, содержит ли строка хотя бы число (цифру) в SQL Server 2005?

Ответы [ 4 ]

91 голосов
/ 01 апреля 2010

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

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

MSDN - LIKE (Transact-SQL)

9 голосов
/ 01 апреля 2010
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' 
1 голос
/ 01 апреля 2010

Самый простой способ - использовать 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
0 голосов
/ 01 апреля 2010
  1. Вы можете использовать пользовательские функции на основе CLR или выполнить запрос CONTAINS, используя все цифры в столбце поиска.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...