0

我有以下数据(字段 varchar(55)):

123,00
212,11
1.212,00

SELECT MIN(FIELD) FROM XYZ

我得到“1.212,00”。这对我来说是错误的,但对 MySQL 来说并没有错。我需要以下:123,00。

如何在不更改字段类型的情况下做到这一点?

TIA 马特

4

2 回答 2

1

您应该您的 char 值转换为数值。

select min(
              CAST( replace(
                      replace ( FIELD, '.', '' ),
                      ',', '.'
                    )
                   AS DECIMAL(5,2))
           )  ...
于 2012-04-17T14:21:54.293 回答
0

使用CastConvert

CONVERT() 和 CAST() 函数采用一种类型的值并产生另一种类型的值。

SELECT MIN(CAST(Field AS DECIMAL(10,2))) FROM XYZ

http://dev.mysql.com/doc/refman/5.0/en/cast-functions.html#function_cast

于 2012-04-17T14:21:56.337 回答