몸과 마음이 건전한 SW 개발자

[HackerRank-MSSQL] 해커랭크 Aggregation Weather Observation Station 2 (Cast, Decimal, Format, Round, N, F) 본문

SQL/MSSQL

[HackerRank-MSSQL] 해커랭크 Aggregation Weather Observation Station 2 (Cast, Decimal, Format, Round, N, F)

스위태니 2026. 4. 21. 11:42
728x90

문제 링크

https://www.hackerrank.com/challenges/weather-observation-station-2/problem?isFullScreen=true

 

Weather Observation Station 2 | HackerRank

Write a query to print the sum of LAT_N and the sum of LONG_W separated by space, rounded to 2 decimal places.

www.hackerrank.com

틀린 코드 1

SELECT ROUND(SUM(LAT_N), 2), ROUND(SUM(LONG_W), 2) FROM STATION;

 

틀린 코드 2

SELECT CAST(SUM(LAT_N) AS DECIMAL(10, 2)), CAST(SUM(LONG_W) AS DECIMAL(10, 2)) FROM STATION;

정답 코드

SELECT 
    CAST(SUM(LAT_N) AS DECIMAL(10, 2)), 
    CAST(SUM(LONG_W) AS DECIMAL(10, 2)) 
FROM STATION;

풀이 과정

  • 생략

공부하기

  • CAST 함수
    • 이 데이터를 저 데이터 형식으로 형변환(Type Conversion)해라
    • CAST(대상 AS 바꿀데이터타입)
  • DECIMAL(p, s)
    • decimal(10, 2)
    • precision, 정밀도
      • 10 
      • 소수점 앞뒤를 모두 포함한 전체 숫자의 개수
    • scale, 스케일
      • 2
      • 소수점 아래 몇 번째 자리까지 표현할 것인지
    • round와의 차이
      • round는 반올림만 해주고 소수점은 원본만큼 보여줌
        • round (12.1314, 1)
        • 12.1000
      • decimal은 반올림 자동
      • 소수점 자릿수도 딱 n자리로 고정해서 보여준다.
        • cast(123.4567 as decimal(10, 2))
        • 123.46
  • Format
    • 반올림 수행 및 천 단위 콤마
    • 천 단위 콤마 = N
      • N2는 1,234.56처럼 콤마를 찍지만, F2는 1234.56으로 출력
    • F는 고정 소수점
      • Fixed-point
  • 하지만,,,
    • CAST는 매우 빠르고, FORMAT은 상대적으로 꽤 느리다.
    • 성능에서 차이가 올 수 있음
728x90