2016-08-08 7 views
0

Zum Beispiel, Im der folgenden Abfrage und ich bekomme die folgende Fehlermeldung entsprechendIst es möglich, Platzhalter für die Überprüfung mit numerischen Spalten in SQL zu verwenden?

SELECT MIN(amt) FROM trnsact 
WHERE amt NOT LIKE '0%'; 

Hier amt ist der Kauf amt und so möchte ich die günstigste Kaufbetrag, um herauszufinden, oben mit der Abfrage, aber es gibt eine Viele Zeilen mit Werten wie 0, 0.1, 0.02 usw. Ich will nicht alle. Ich möchte Werte so wenig wie 1 vielleicht. Der Fehler, den ich bekommen ist:

Fehlercode - 3544 Fehlermeldung - [Teradata Database] [TeraJDBC 15.10.00.05] [Error 3544] [SQLState HY000] Partial String-Matching erfordert Operanden Charakter.

Bitte helfen Sie Jungs !!!

+4

Warum sollte nicht 'amt> = 1 'besser sein? – Uueerdo

+0

Das ist richtig. Ich weiß nicht, warum ich daran denke. Vielen Dank @Uueerdo :) – Vish

+0

Und für Fälle, in denen Sie tatsächlich Wildcards verwenden möchten (z. B. das Vorhandensein einer Zahl innerhalb der Zahl überprüfen) können Sie die Zahl für den Vergleich auf Varchar umwandeln: 'CAST (amt AS VARCHAR)' oder implizit mit 'CONCAT (amt)'. – hsan

Antwort

0

einfach können Sie verwenden

SELECT MIN(amt) FROM trnsact WHERE amt >= 1;