pasar - Reparto de VARCHAR a INT-MySQL
parse varchar to int in mysql (2)
Como se describe en Funciones y operadores de reparto :
El tipo para el resultado puede ser uno de los siguientes valores:
BINARY[(N)]
CHAR[(N)]
DATE
DATETIME
DECIMAL[(M[,D])]
SIGNED [INTEGER]
TIME
UNSIGNED [INTEGER]
Por lo tanto, debes usar:
SELECT CAST(PROD_CODE AS UNSIGNED) FROM PRODUCT
Mis datos actuales para
SELECT PROD_CODE FROM `PRODUCT`
es
PROD_CODE
2
5
7
8
22
10
9
11
He intentado todas las cuatro consultas y ninguno funciona. ( 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;
Todos lanzan errores de sintaxis como los siguientes:
Tienes un error en tu sintaxis SQL; consulte el manual que corresponde a la versión de su servidor MySQL para conocer la sintaxis correcta para usar cerca de '') COMO INT DESDE EL LÍMITE DEL PRODUCTO 0, 30'' en la línea 1
Tienes un error en tu sintaxis SQL; consulte el manual que corresponde a la versión de su servidor MySQL para conocer la sintaxis correcta para usar cerca de ''INTEGER] DESDE EL LÍMITE DE PRODUCTO 0, 30'' en la línea 1
¿Cuál es la sintaxis correcta para convertir varchar a entero en MySQL?
Versión de MySQL: 5.5.16
Para convertir campos / valores varchar a formato numérico se puede usar un pequeño corte:
SELECT (`PROD_CODE` * 1) AS `PROD_CODE` FROM PRODUCT`