Mis datos actuales para
SELECT PROD_CODE FROM `PRODUCT`
es
PROD_CODE
2
5
7
8
22
10
9
11
He intentado las cuatro consultas y ninguna 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 los errores de sintaxis de lanzamiento, como a continuación:
Tiene un error en su sintaxis SQL; consulte el manual que corresponde a la versión de su servidor MySQL para obtener la sintaxis correcta para usar cerca de ') COMO INT DEL LÍMITE DE PRODUCTO 0, 30' en la línea 1
Tiene un error en su 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
Respuestas:
Como se describe en Funciones y operadores de reparto :
Por lo tanto, debe usar:
fuente
CAST(PROD_CODE AS INT)
funciona bien.Para convertir los campos / valores de varchar en formato numérico se puede usar un pequeño truco:
fuente
To cast a string to a number, you normally need do nothing other than use the string value in numeric context
aunque usaría en+0
lugar de*1
porque la adición es más rápida.CONVERT('123456',UNSIGNED INTEGER)