0

carat字段包含像 .58(0.58) 这样的值。我需要获取 0.58 到 1.90 之间的所有记录。0如果值不存在并在 0.58 和 1.90 之间进行选择,我该如何填充?

4

2 回答 2

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;

自然,这将是全表扫描

您是否在查询中检查了其他列???

于 2012-07-11T17:18:40.630 回答
0

也需要转换为浮动

cast现场使用carat

select 
    cast( carat as decimal ) carat
from
    my_table
where 
    cast( carat as decimal ) between 0.58 and 1.90
;
于 2012-07-11T17:21:03.230 回答