Varchar或decimal和cast

时间:2016-02-03 13:58:39

标签: mysql

我有一张装满产品的桌子。它们的一些特征如宽度和高度都是十进制的。到目前为止,我们使用的是浮点数,但选择不工作存在一些问题,例如:

 SELECT ... WHERE width = 3.4 
  

没有给出任何结果,而

SELECT ... WHERE width LIKE "3.4%" 
  

了。

所以我希望改变列的类型,我可以在varchar和decimal之间进行选择。我不希望在我的前端有任何尾随零,所以如果我选择十进制类型,我必须更改所有模型以将特征转换为char,然后删除可能会导致大量错误的零。 / p>

选择的最佳类型是什么,因为我知道我没有对这些特征进行任何计算,我只需要选择相同,不大于/小于。

感谢您的帮助。

编辑:

我试图更改列'输入到十进制,并且转换为char以删除尾随零需要花费太多时间,从25ms到500ms。我想我别无选择,只能用php删除它们:(

1 个答案:

答案 0 :(得分:1)

与使用小数相比,使用varchar可能会给你更多的工作,而varchar也可能使你的变量在转换时失去精度。所以我建议坚持使用小数