🚀 from error to study/Java

TO_CHAR(컬럼이름, 'FM0.0')을 이용해 별점 포맷 '★0.0' 소수점 1자리까지 나오게 하기

천재강쥐 2022. 12. 6. 15:21

 

 

 

📌 현재 상황

DB에서 끌어왔을 때 1의 자리만

 

 

 

현재 DB에서는 0.5의 경우 소수점까지 뜨지만 1, 2, 3, 4, 5점일 경우 소수점 0이 안 뜸

 

 

 

 

해결 방법 1️⃣-1️⃣ TO_CHAR(컬럼명, 'FM0.0')

먼저 DB에 뜨는 값을 모두 소수점까지 반영되도록 해 줌

 

 

   0 👉🏻 해당 숫자가 존재하지 않아도 무조건 출력 (0으로)

   9 👉🏻 없으면 생략함

 

   1) FM9.9

   2) FM9.0

   3) FM0.9

   4) FM0.0

FM0.0 👉🏻 0.5, 5.0 등의 경우가 존재하므로 내가 사용해야 할 조건과 알맞음

 

 

 

select 할 때

👉🏻 REVIEW_STAR는 별점이 담긴 컬럼이름

👉🏻 STS로 가지고 왔을 때 resultMap과 연동해야 하므로 기존 컬럼값으로 별칭 지어 줌

TO_CHAR(REVIEW_STAR, 'FM0.0') AS "REVIEW_STAR"

 

 

 

이제 DB에서는 어떠한 경우라도 0.0의 포맷으로 뜸

 

 

 

뭐야 거짓말하지 마

 

 

 

 

해결 방법 1️⃣-2️⃣ TO_CHAR에 대응하는 String으로 필드 형태 바꿔 주기

 

별점은 숫자로 표현되기 때문에 int형태로 선언했는데

 

 TO_CHAR로 변환했으므로 문자열인 String으로 바꿔 줌

 

 

 

🌟 결과물