0

caratフィールドには、.58(0.58) のような値が含まれます。.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

float にも変換する必要があります

フィールドで使用castcaratます。

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 に答える