2009-05-20 7 views

Antwort

4
select * 
from yourTable 
Where ISNUMERIC(yourField) = 0 
+0

Sie sind ein Lebensretter, das hat den ganzen Tag mein Gehirn zerschlagen. Endlich dachte ich daran, hier zu fragen, und sicher eine Antwort. – DevelopingChris

1

Ich bin kein t-SQL-Benutzer, also bitte nehmen Sie dies als Haftungsausschluss. Tut mir leid, wenn es nicht die perfekte Antwort auf Ihre Frage ist, aber ich benutze MySQL, das reguläre Ausdrücke verwenden kann. Nun, je nachdem, was Sie eigentlich tun wollen .. könnte dies nicht Ihre endgültige Lösung sein, aber hier ist eine schnelle Nummer Beispiel für eine Abfrage, die ich laufen konnte:

SELECT * FROM table WHERE columnName REGEXP '^[0-9]+$' 

Aber auch hier nicht sicher, ob T-SQL dies tun können, aber von diesem Link: http://www.sqlteam.com/article/regular-expressions-in-t-sql scheint es so. Hoffentlich ist dies zumindest ein Anfang für Ihre Lösung.

Nochmals, nicht ganz sicher, was Ihr Endbenutzer ist .. aber wenn ich nur Zahlen wollte, würde ich eine Art von Reinigung vor dem Laden von Daten in die Datenbank verwenden, anstatt danach aufzuräumen ... Ich finde immer den leichteren Weg . (Sie haben vielleicht mit den Daten schon vorher begonnen)

Hoffe das hilft!

+0

wäre es nett, aber mein Client hat diese Funktion nicht und wird es nicht installieren, so einfach alt T-SQL ist es. – DevelopingChris

+0

Nun, ich dachte, die Logik wäre ähnlich. Sehen Sie, Sie haben bereits eine spezifischere Antwort bekommen. Schön, dass wir helfen konnten! – stogdilla

Verwandte Themen