尝试将varchar字段转换为double(数字)时,查询出现问题。我有这个SQL语句:

SELECT fullName, CAST(totalBal as numeric(9,2) FROM client_info ORDER BY totalBal DESC

实际上,我想按降序显示totalBal的值。但是由于该字段位于varchar中,所以结果集有时是错误的。这是我尝试使用此语句进行查询时的结果集:
SELECT fullName, totalBal FROM client_info ORDER BY totalBal DESC

结果集为:
totalBal的排序不正确。因此,我决定将varchar转换为数字,以便可以对其进行完美排序。任何想法?

最佳答案

使用DECIMAL()NUMERIC(),因为它们是固定的精度和小数位数。

SELECT fullName,
       CAST(totalBal as DECIMAL(9,2)) _totalBal
FROM client_info
ORDER BY _totalBal DESC

关于mysql - 如何在SQL中将Varchar转换为Double?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14496090/

10-10 04:26