2012-07-11 85 views
0

carat字段包含值如.58(0.58)。我需要获得.58和1.90之间的所有记录。我如何填写0的值(如果不存在并在0.58和1.90之间选择)?替换mysql值0.58与0.58

+0

什么是字符类型?数字或字符串?当然还有字符串 – 2012-07-11 17:01:07

+0

,还需要转换为浮点 – 2012-07-11 17:02:32

回答

0
UPDATE mytable SET carat = carat + 0.0; 

您可以选择

SELECT * FROM mytable 
WHERE (carat + 0.0) >= 0.58 
AND (carat + 0.0) >= 1.90; 

SELECT * FROM mytable 
WHERE (carat + 0.0) BETWEEN 0.58 AND 1.90; 

当然,这将是一个全表扫描

您是否有其他列,你检查你的查询???

0

需要转换也

浮动使用castcarat场。

select 
    cast(carat as decimal) carat 
from 
    my_table 
where 
    cast(carat as decimal) between 0.58 and 1.90 
;