[英]Cast from VARCHAR to INT - MySQL
My Current Data for 我目前的数据
SELECT PROD_CODE FROM `PRODUCT`
is 是
PROD_CODE
2
5
7
8
22
10
9
11
I have tried all the four queries and none work. 我已经尝试了所有四个查询,但都没有工作。 ( 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;
All throw syntax errors such as below: 所有抛出语法错误,如下所示:
You have an error in your SQL syntax;
您的SQL语法有错误; check the manual that corresponds to your MySQL server version for the right syntax to use near ') AS INT FROM PRODUCT LIMIT 0, 30' at line 1
查看与您的MySQL服务器版本对应的手册,以便在'1'的AS INT FROM PRODUCT LIMIT 0,30'附近使用正确的语法
You have an error in your SQL syntax;
您的SQL语法有错误; check the manual that corresponds to your MySQL server version for the right syntax to use near 'INTEGER) FROM PRODUCT LIMIT 0, 30' at line 1
检查与MySQL服务器版本对应的手册,以便在第1行的'INTEGER)FROM PRODUCT LIMIT 0,30'附近使用正确的语法
What is the right syntax to cast varchar to integer in MySQL? 在MySQL中将varchar强制转换为整数的正确语法是什么?
MySQL Version: 5.5.16 MySQL版本:5.5.16
As described in Cast Functions and Operators : 如Cast Cast和Operators中所述 :
The type for the result can be one of the following values:
结果的类型可以是以下值之一:
BINARY[(N)]
CHAR[(N)]
DATE
DATETIME
DECIMAL[(M[,D])]
SIGNED [INTEGER]
TIME
UNSIGNED [INTEGER]
Therefore, you should use: 因此,您应该使用:
SELECT CAST(PROD_CODE AS UNSIGNED) FROM PRODUCT
对于将varchar字段/值转换为数字格式,可以使用少量hack:
SELECT (`PROD_CODE` * 1) AS `PROD_CODE` FROM PRODUCT`
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.