如何在mysql中将数字存储为varchar?

时间:2014-02-17 10:21:23

标签: mysql type-conversion

我需要在表格中存储整数和十进制数字,例如:
9 , 1, 10.00 , 2 , 100.10

为此,我选择了varchar。但问题是我不能应用max()函数,因为它返回9 instead of 100.10是数据类型varchar。在这种情况下我该怎么办?

请帮忙!!
谢谢!!!

5 个答案:

答案 0 :(得分:0)

使用MySQL中提供的Numeric Types之一。在您的情况下,NUMERIC,例如DECIMALFLOATfixed point type,例如{{1}}是合适的。

答案 1 :(得分:0)

变量字符数据类型对于存储字母数字字符而非数字非常有用,这就是为什么它会读取列表中最大的第一个字符(9)。尝试使用float而不是

答案 2 :(得分:0)

您可以使用convert()将一种类型转换为另一种类型。For your Reference

<强>语法:

CONVERT(expr,type)

答案 3 :(得分:0)

将值存储在varchar中,然后将值转换为Decimal,如

SELECT MAX( CAST( mycolumn AS DECIMAL(10,5) )) FROM `mytable`

答案 4 :(得分:0)

我认为您不需要将这些数字存储为varchar。你还有其他原因吗?为了保持算术,将所有数字存储为十进制不是更好吗?

DECIMAL(5,2)

其中5是最大位数,2是小数点后的位数,将覆盖问题中的示例数字。整数9将存储为9.00