Mes données actuelles pour
SELECT PROD_CODE FROM `PRODUCT`
est
PROD_CODE 2 5 7 8 22 10 9 11
J’ai essayé toutes les quatre requêtes et aucun travail. ( 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;
Tous jettent des erreurs de syntaxe telles que ci-dessous:
Vous avez une erreur dans votre syntaxe SQL; Consultez le manuel correspondant à votre version du serveur MySQL pour connaître la syntaxe appropriée à utiliser près de ‘) AS INT FROM LIMITE DE PRODUIT 0, 30’ à la ligne 1
Vous avez une erreur dans votre syntaxe SQL; Consultez le manuel correspondant à la version de votre serveur MySQL pour connaître la syntaxe appropriée à utiliser près de ‘INTEGER) FROM LIMITE DE PRODUIT 0, 30’ à la ligne 1
Quelle est la bonne syntaxe pour convertir varchar en entier dans MySQL?
Version MySQL: 5.5.16
Comme décrit dans Fonctions et opérateurs de la dissortingbution :
Le type du résultat peut être l’une des valeurs suivantes:
BINARY[(N)]
CHAR[(N)]
DATE
DATETIME
DECIMAL[(M[,D])]
SIGNED [INTEGER]
TIME
UNSIGNED [INTEGER]
Par conséquent, vous devez utiliser:
SELECT CAST(PROD_CODE AS UNSIGNED) FROM PRODUCT
Pour que les champs / valeurs de varchar soient placés au format numérique, peu de hack peut être utilisé:
SELECT (`PROD_CODE` * 1) AS `PROD_CODE` FROM PRODUCT`