개발 이슈

[MySQL] varchar 에서 number로 / 특정 문자 제거

소복 2019. 7. 11. 06:58

varchar 타입의 column에 가격 정보를

'3,000,000' 와 같이 저장했는데

숫자로 크기를 비교하기 위해 가공을 해야 했다.

 

MySQL의 내장 함수 두 개를 사용하여 이를 해결했다.

SELECT
MIN( cast( replace(goods_price, ',', '') as unsigned)) as price_min,
MAX( cast( replace(goods_price, ',', '') as unsigned)) as price_max

FROM GOODS

우선 replace()로 goods_price의 , 를 빈 문자열로 바꿨다.

그리고 cast( X ) as unsigned 로 문자열 숫자 데이터를 숫자로 바꿔주었다.