Meine aktuellen Daten für
SELECT PROD_CODE FROM `PRODUCT`
ist
PROD_CODE
2
5
7
8
22
10
9
11
Ich habe alle vier Abfragen ausprobiert und keine funktioniert. ( Ref )
SELECT CAST(PROD_CODE) AS INT FROM PRODUCT;
SELECT CAST(PROD_CODE AS INT) FROM PRODUCT;
SELECT CAST(PROD_CODE) AS INTEGER FROM PRODUCT;
SELECT CAST(PROD_CODE AS INTEGER) FROM PRODUCT;
Alle werfen Syntaxfehler wie folgt:
Sie haben einen Fehler in Ihrer SQL-Syntax. Überprüfen Sie das Handbuch, das Ihrer MySQL-Serverversion entspricht, auf die richtige Syntax für die Verwendung in der Nähe von ') AS INT FROM PRODUCT LIMIT 0, 30' in Zeile 1
Sie haben einen Fehler in Ihrer SQL-Syntax. Überprüfen Sie das Handbuch, das Ihrer MySQL-Serverversion entspricht, auf die richtige Syntax für die Verwendung in der Nähe von 'INTEGER) FROM PRODUCT LIMIT 0, 30' in Zeile 1
Was ist die richtige Syntax, um varchar in MySQL in eine Ganzzahl umzuwandeln?
MySQL Version: 5.5.16
Antworten:
Wie unter Besetzungsfunktionen und Operatoren beschrieben :
Daher sollten Sie verwenden:
quelle
CAST(PROD_CODE AS INT)
funktioniert .Zum Umwandeln von Varchar-Feldern / -Werten in das Zahlenformat kann wenig Hack verwendet werden:
quelle
To cast a string to a number, you normally need do nothing other than use the string value in numeric context
Obwohl ich+0
stattdessen verwenden würde,*1
da das Hinzufügen schneller ist.