我有以下数据(字段varchar(55)):
123,00
212,11
1.212,00
使用
SELECT MIN(FIELD) FROM XYZ
我得到“1.212,00”。这对我来说是错误的,但对MySQL来说并没有错。 我需要以下内容:123,00。
如何在不更改字段类型的情况下执行此操作?
TIA Matt
答案 0 :(得分:1)
您应将{char}值cast设为数值。
select min(
CAST( replace(
replace ( FIELD, '.', '' ),
',', '.'
)
AS DECIMAL(5,2))
) ...
答案 1 :(得分:0)
使用Cast
或Convert
:
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