문제 링크입니다!
The Blunder | HackerRank
Query the amount of error in Sam's result, rounded up to the next integer.
www.hackerrank.com
문제
=> 사만다는 직원 테이블에 있는 모든 직원의 평균 월급을 계산하는 일을 맡았지만 계산을 마친 후에야 키보드의 0 키가 고장 났다는 것을 알았다.
그녀는 자신의 오계산(0을 빼고 계산)과 실제 평균 급여 간의 차이를 찾는 데 도움을 받고자 한다.
오류의 양(즉, 실제 평균 급여 - 잘못 계산된 월평균 급여)을 계산하고 정수로 반올림하여 조회해라.
풀이
select
cast(ceiling(avg(cast(salary as float))
- avg(cast(replace(salary,0,'') as float))) as int)
from
employees
EMPLOYEE TABLE의 Salary 컬럼의 자료형은은 INTEGER(정수) => 실제 평균 급여, 잘못 계산된 월 평균 급여를 FLOAT(실수) 형으로 변경하여 계산한 값을 정수로 반올림
- CAST : 한 데이터 형식의 식을 다른 데이터 형식으로 변환
- CEILING : 지정한 숫자 식보다 크거나 같은 최소 정수를 반환
- REPLACE : 지정된 문자열 값의 모든 항목을 다른 문자열 값으로 바꿈
CAST 및 CONVERT(Transact-SQL) - SQL Server
CAST 및 CONVERT 함수의 Transact-SQL 참조입니다. 해당 함수는 특정 데이터 형식의 식을 다른 데이터 형식으로 변환합니다.
docs.microsoft.com
CEILING(Transact-SQL) - SQL Server
CEILING(Transact-SQL)
docs.microsoft.com
REPLACE(Transact-SQL) - SQL Server
지정된 문자열 값의 모든 항목을 다른 문자열 값으로 바꾸는 REPLACE 함수의 Transact-SQL 참조입니다.
docs.microsoft.com
'HackerRank - MS SQL Server' 카테고리의 다른 글
[해커랭크/MS SQL] Weather Observation Station 2 (0) | 2022.03.28 |
---|---|
[해커랭크/MS SQL] Top Earners (0) | 2022.03.25 |
[해커랭크/MS SQL] Japan Population (0) | 2022.03.25 |
[해커랭크/MS SQL] Average Population (0) | 2022.03.25 |
[해커랭크/MS SQL] Revising Aggregations - Averages (0) | 2022.03.25 |
댓글