2010-04-01 17 views

cevap

75

bunu kullanın:

SELECT * FROM Table WHERE Column LIKE '%[0-9]%' 
basit yöntem kullanmaktır

MSDN - LIKE (Transact-SQL)

+0

MSSQL'de köşeli parantezlerden kaçtım, örneğin "LIKE" [_] ''? Ayrıca bu bilgiyi nereden buldunuz? – Coops

+1

Hayır, bu işe yaramıyor, yıllardır bunu yapıyorum ve nerede ilk gördüğüm hakkında hiçbir fikrim yok ... – cjk

+1

@CodeBlend köşeli parantezler * dışta * bir dize olduğunda ve desenleri sınırlamak için * içeride kaçmak için kullanılır dizi. –

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

Neden basit bir LIKE yerine PATINDEX? – gbn

+0

Lol ponies ...... – Tsaukpaetra

0
  1. CLR tabanlı UDF'leri kullanmak veya bir arama sütunu tüm rakamları kullanarak sorgu İÇEREN yapabilirdi.
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 
İlgili konular