2010-04-01 23 views

Antwort

75

verwenden:

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

MSDN - LIKE (Transact-SQL)

+0

Ich dachte, dass eckige Klammern in MSSQL wie "LIKE" [_] ''? Auch aus Interesse, wo haben Sie diese Informationen gefunden? – Coops

+1

Nein, das funktioniert, ich mache es seit Jahren und habe keine Ahnung, wo ich es zum ersten Mal gesehen habe ... – cjk

+1

@CodeBlend eckige Klammern werden verwendet, um zu entkommen, wenn * außerhalb * eines Strings, und um Muster zu begrenzen, wenn * innerhalb * ein Faden. –

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

Warum PATINDEX, anstatt ein einfaches WIE? – gbn

+0

Lol Ponys ...... – Tsaukpaetra

0
  1. Sie könnten CLR basierend UDF verwenden oder tun eine ENTHÄLT Abfrage alle Ziffern auf der Spalte Suche.
1

Die einfachste Methode zu verwenden ist 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 
Verwandte Themen