2016-08-04 41 views
0

Ich möchte einen String-Parameter in einer Ganzzahl innerhalb einer Where-Bedingung konvertieren.Konvertieren von Zeichenfolge in Integer innerhalb einer WHERE-Bedingung [MYSQL]

Fall:

SELECT * FROM `pro` WHERE `fld_custom_1` <= '85'; 

Ich mag würde die '85'(STRING) in 85(INTEGER) konvertieren.

Es ist möglich?

+0

MySQL macht solche Dinge normalerweise automatisch; Verdammt, es wird sogar "85absdaojfiwefmwef" in "85" umwandeln. – Uueerdo

+0

Siehe auch: http://dev.mysql.com/doc/refman/5.7/en/cast-functions.html CAST() und CONVERT() – progysm

Antwort

1
SELECT * FROM pro WHERE fld_custom_1 <= cast(@param as unsigned) 

Wenn fld_custom_1 einer Typennummer Daten werden dann MySQL automatisch konvertieren den String-Parameter auf eine Zahl, um den Vergleich zu machen.

+0

Guter Punkt, in meinem Kommentar hatte ich angenommen, dass das OP mit einem Vergleich war int Feld; wahrscheinlich eine falsche Annahme, wenn sie Probleme haben. – Uueerdo

+0

Ja, es ist ein Varchar (255) -Typ. Leider kann ich das '' nicht entfernen und ich muss in ihnen arbeiten. Etwas wie '(85) INT' –

+0

Wie in meiner Antwort: 'Cast ('85 'wie unsigned)' –