尝试使用SQL语句将MySQL中的varchar字段转换为整数时遇到一些问题:

SELECT mrtpopTime, CONVERT(INT,mrtpopAmt)
FROM tm_mrtpop
WHERE mrtpopName = ''
ORDER BY CONVERT(INT, mrtpopAmt) DESC


我试图以相反的顺序排列mrtpopAmt时获得前3条记录。但是,我在INT处收到错误消息,错误消息是:

Syntax error, Unecpected INT_SYM


我不知道为什么会这样吗?提前致谢。

最佳答案

这是因为MySQL不使用CONVERT()进行转换。它使用CAST函数。在您的情况下,您将使用:

CAST(mrtpopAmt AS SIGNED) -- This can also be UNSIGNED if it will always be a positive integer

10-05 20:34
查看更多