我当前的数据
SELECT PROD_CODE FROM `PRODUCT`
is
PROD_CODE
2
5
7
8
22
10
9
11
我已经尝试了所有四个查询,但没有一个起作用。 (Ref http://dev.mysql.com/doc/refman/5.5/en/cast-functions.html#function_cast)
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;
所有抛出语法错误,如下所示:
您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,了解要使用的正确语法
第 1 行靠近 ') AS INT FROM Product LIMIT 0, 30'
您的 SQL 语法有错误;检查手册
与您的 MySQL 服务器版本相对应,以便使用正确的语法
第 1 行的“INTEGER) FROM Product LIMIT 0, 30”附近
在 MySQL 中将 varchar 转换为整数的正确语法是什么?
MySQL 版本:5.5.16
如中所述强制转换函数和运算符 http://dev.mysql.com/doc/en/cast-functions.html#function_cast:
结果的类型可以是以下值之一:
BINARY[(N)]
CHAR[(N)]
DATE
DATETIME
DECIMAL[(M[,D])]
SIGNED [INTEGER]
TIME
UNSIGNED [INTEGER]
因此,您应该使用:
SELECT CAST(PROD_CODE AS UNSIGNED) FROM PRODUCT
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)