我的当前数据
SELECT PROD_CODE FROM `PRODUCT`
是
PROD_CODE
2
5
7
8
22
10
9
11
我已经尝试了所有四个查询,但都不起作用。(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;
所有抛出语法错误,如下所示:
您的SQL语法中有一个错误;请查看与您的MySQL服务器版本相对应的手册,了解要使用的正确语法(在第1行的产品限制0,30‘)附近使用
您的SQL语法中有一个错误;请查看与您的MySQL服务器版本对应的手册,以了解从产品限制0,30开始在第1行使用的正确语法
在MySQL中将varchar转换为整数的正确语法是什么?
MySQL版本: 5.5.16
发布于 2012-08-26 09:35:02
如Cast Functions and Operators中所述
结果的类型可以是下列值之一:
BINARY[(N)]
CHAR[(N)]
DATE
DATETIME
DECIMAL[(M[,D])]
SIGNED [INTEGER]
TIME
UNSIGNED [INTEGER]
因此,您应该使用:
SELECT CAST(PROD_CODE AS UNSIGNED) FROM PRODUCT
发布于 2016-03-02 03:00:38
对于将varchar字段/值转换为数字格式,可以使用一些小技巧:
SELECT (`PROD_CODE` * 1) AS `PROD_CODE` FROM PRODUCT`
https://stackoverflow.com/questions/12126991
复制相似问题