2010-04-01 125 views

回答

75

使用此:

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

MSDN - LIKE (Transact-SQL)

+0

我以为方括号在MSSQL里逃脱了,比如'LIKE'[_]''?也出于兴趣你在哪里找到这些信息? – Coops 2013-01-08 10:00:33

+1

没有这个工作,我一直这样做了很多年,不知道我第一次看到它的位置...... – cjk 2013-01-08 13:25:40

+1

@CodeBlend方括号用于* outside *字符串时用于转义,以及* inside *一个字符串。 – 2014-02-26 13:32:35

6
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' 
+0

为什么PATINDEX,而不是一个简单的LIKE? – gbn 2010-04-01 10:53:20

+0

Lol ponies ...... – Tsaukpaetra 2015-02-05 18:19:22

0
  1. 你可以使用基于CLR的UDF或做包含了使用上的搜索栏中所有数字查询。
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 
相关问题