尝试使用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