MySQL数据类型转换:从varchar到float

16

在执行MySQL查询时,我该如何将varchar转换为float


2
请参考 http://dev.mysql.com/doc/refman/5.0/en/cast-functions.html,使用 CAST 函数,但请确保您的内容字符串可以转换为浮点数。 - YvesR
2个回答

28

您无法使用浮点类型在mysql中进行类型转换。

可以使用以下类型:

  • BINARY[(N)]
  • CHAR[(N)]
  • DATE
  • DATETIME
  • DECIMAL[(M[,D])]
  • SIGNED [INTEGER]
  • TIME
  • UNSIGNED [INTEGER]

因此,在您的情况下,您必须使用decimal,例如:

select cast(amount AS DECIMAL(10,2)) as 'float-value' from amounts

25

你可以使用这个简单的技巧 0 + 列名 将其转换为浮点数。

select 0 + column_name from table;

太棒了!真是个好技巧。它很简洁,而且不需要假设小数点后有任何特定数量的数字。 - VISQL
正确答案! - hpaknia

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接