Mes données actuelles pour
SELECT PROD_CODE FROM `PRODUCT`
est
PROD_CODE
2
5
7
8
22
10
9
11
J'ai essayé les quatre requêtes et aucune ne fonctionne. ( Réf )
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;
Toutes les erreurs de syntaxe de lancement telles que ci-dessous:
Vous avez une erreur dans votre syntaxe SQL; consultez le manuel qui correspond à la version de votre serveur MySQL pour la bonne syntaxe à utiliser près de ') AS INT FROM PRODUCT LIMIT 0, 30' à la ligne 1
Vous avez une erreur dans votre syntaxe SQL; consultez le manuel qui correspond à la version de votre serveur MySQL pour la bonne syntaxe à utiliser près de 'INTEGER) FROM PRODUCT LIMIT 0, 30' à la ligne 1
Quelle est la bonne syntaxe pour convertir varchar en entier dans MySQL?
Version de MySQL: 5.5.16
Réponses:
Comme décrit dans Cast Functions and Operators :
Par conséquent, vous devez utiliser:
la source
CAST(PROD_CODE AS INT)
fonctionne très bien.Pour convertir des champs / valeurs varchar au format numérique, un petit piratage peut être utilisé:
la source
To cast a string to a number, you normally need do nothing other than use the string value in numeric context
Bien que j'utiliserais à la+0
place*1
car l'ajout est plus rapide.CONVERT('123456',UNSIGNED INTEGER)