查询将字符串数据转换为int数据以获得最大值

时间:2017-07-27 10:50:32

标签: php mysql sql

我使用CAST和CONVERT sintax来转换数据,如下图所示:

enter image description here

这是我的疑问:

SELECT MAX(CONVERT(INT, kode_walimurid)) as idmaks FROM walimurid

错误:

  

#1064 - 您的SQL语法出错;查看与您的MySQL服务器版本对应的手册,以便在“INT,kode_walimurid”附近使用正确的语法作为idmaks FROM walimurid LIMIT 0,25'在第1行

2 个答案:

答案 0 :(得分:5)

你可以使用"沉默"转换,如果你愿意:

SELECT MAX(kode_walimurid + 0) as idmaks
FROM walimurid;

此隐式转换不会返回错误,但它将始终返回0,因为字符串以非数字字符开头。

据推测,你实际上想要从第3位开始的数字:

SELECT MAX(SUBSTR(kode_walimurid, 3) + 0) as idmaks
FROM walimurid;

这是Rextester的example

答案 1 :(得分:0)

尝试使用CAST() mysql函数检查function_cast
喜欢

SELECT MAX(CAST(kode_walimurid AS UNSIGNED)) as idmaks FROM walimurid

编辑: - 尝试使用用户定义函数检查this