2010-04-01 98 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 
相關問題