SQL 语句将 varchar 转换为整数

SQL statement convert varchar to integer

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