2012-07-11 2 views
0

carat 필드로 바꾸면 .58 (0.58)과 같은 값이 포함됩니다. 모든 기록을 .58에서 1.90 사이로 가져와야합니다. 0으로 값을 채우지 않고 0.58에서 1.90 사이의 값을 선택하려면 어떻게해야합니까?mysql 값인 .58을 0.58

+0

문자 유형은 무엇입니까? 숫자 또는 문자열? –

+0

물론 문자열도 float로 변환해야합니다. –

답변

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

필요가 carat 필드도

사용 cast을 떠 변환합니다.

select 
    cast(carat as decimal) carat 
from 
    my_table 
where 
    cast(carat as decimal) between 0.58 and 1.90 
; 
관련 문제