从VARCHAR转换为INT-MySQL [英] Cast from VARCHAR to INT - MySQL
问题描述
我当前的数据
SELECT PROD_CODE FROM `PRODUCT`
是
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:
您的SQL语法有错误;检查与您的MySQL服务器版本相对应的手册以使用正确的语法 第1行附近')AS INT FROM PRODUCT LIMIT 0,30'
You have an error in your SQL syntax; 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
您的SQL语法有错误;检查手册 对应于您的MySQL服务器版本以使用正确的语法 第1行的"INTEGER)FROM PRODUCT LIMIT 0,30"附近
You have an error in your SQL syntax; 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中将varchar转换为整数的正确语法是什么?
What is the right syntax to cast varchar to integer in MySQL?
MySQL版本:5.5.16
MySQL Version: 5.5.16
推荐答案
如投射函数和运算符:
结果的类型可以是以下值之一:
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]
BINARY[(N)]
CHAR[(N)]
DATE
DATETIME
DECIMAL[(M[,D])]
SIGNED [INTEGER]
TIME
UNSIGNED [INTEGER]
因此,您应该使用:
SELECT CAST(PROD_CODE AS UNSIGNED) FROM PRODUCT
这篇关于从VARCHAR转换为INT-MySQL的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!