Reparto de VARCHAR a INT-MySQL


Mis Datos actuales para

SELECT PROD_CODE FROM `PRODUCT`

Es

PROD_CODE
2
5
7
8
22
10
9
11

He probado 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 throw como los siguientes:

Tiene un error en su sintaxis SQL; consulte el manual que corresponde a la versión de su servidor MySQL para la sintaxis correcta a usar casi ') COMO INT A PARTIR 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 tu MySQL versión del servidor para la sintaxis correcta a usar casi 'ENTERO) A PARTIR DEL LÍMITE DE PRODUCTO 0, 30' en la línea 1

¿Cuál es la sintaxis correcta para convertir varchar a integer en MySQL?

Versión de MySQL: 5.5.16

 199
Author: emaillenin, 2012-08-26

2 answers

Como se describe en Cast Funciones y operadores :

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, debe usar:

SELECT CAST(PROD_CODE AS UNSIGNED) FROM PRODUCT
 437
Author: eggyal,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-08-26 01:35:01

Para lanzar campos/valores varchar a formato de número puede ser poco hack usado:

SELECT (`PROD_CODE` * 1) AS `PROD_CODE` FROM PRODUCT`
 31
Author: Jirka Kopřiva,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-03-01 19:00:37