2010-04-01 25 views

Respuesta

75

Utilice esta:

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

MSDN - LIKE (Transact-SQL)

+0

Pensé que los corchetes cuadrados se escapaban en MSSQL, como 'LIKE '[_]''? También fuera de interés, ¿dónde encontraste esta información? – Coops

+1

No, esto funciona, lo he estado haciendo durante años y no tengo idea de dónde lo vi por primera vez ... – cjk

+1

@CodeBlend los corchetes se usan para escaparse cuando * afuera * una cuerda, y para delimitar los patrones cuando * adentro * una cuerda. –

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

¿Por qué PATINDEX, en lugar de un simple LIKE? – gbn

+0

ponys Lol ...... – Tsaukpaetra

0
  1. Usted podría utilizar UDF basadas CLR o hacer una consulta CONTAINS utilizando todos los dígitos en la columna de la búsqueda.
1

El método más simple es utilizar 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 
Cuestiones relacionadas