2012-11-15 1 views
1

VARCHAR 필드에서 "숫자"를 정리하고 싶습니다. Mysql SQL은 마지막 0을 트리밍하지 않고 varchar 필드에서 0을 선도합니다. (점)

Examples: 
________________ 
a. 001 : 1 
b. 01  : 1 
c. 0  : 0 
d. 00.1 : 0.1 
e. 0.0 : 0 
f. 0.001 : 0.001 

나는 생각 :

TRIM(LEADING '0' FROM t.field) 

그러나 이것은 A와 B의 기록에만 작동합니다. 기타 .1 또는 .0, ...이 될 것입니다.
이 문제를 해결하는 방법에 대한 아이디어가 있으십니까?

편집 : 중요한 정보를 잊어 버렸습니다. 일부 레코드에는 다른 문자가 포함될 수 있습니다. 즉 : 0.1 km

답변

1

SELECT CAST(fieldName AS DECIMAL(10,2)) 
FROM tableName 
1

숫자로 취급 캐스팅하여 시도?

UPDATE SET yourfield = CAST(yourfield AS signed) 

mysql은 실제 업데이트를 수행 할 때 varchar로 다시 변환됩니다.

+0

안녕하세요. 아이디어를 가져 주셔서 감사합니다. 다른 문자 (0.1km)가 포함 된 문자로 숫자를 처리 할 수 ​​없습니다. 나는 그들을 캐스팅 할 때 비 숫자 문자를 제거하려고 할 수 있다고 생각한다. 나는 시도 할 것이다. 고마워요 – user805528

+0

그런 종류의 정보가 가야에서 귀하의 질문에 있었어야했는데 ... –

+0

미안 해요 필수 정보를 간과했다. 나는 그 질문을 편집했다. – user805528