해결된 질문
작성
·
87
1
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
CEIL함수와 FLOOR함수 또한 소수점에서도 올림과 내림이 가능한가요?
ex) SELECT CEIL(5.55, 2)
=> 5.56
이런식으로 가능한지 궁금하네요
해커랭크하고 w3school 에서는 에러나더라구요
답변 2
0
안녕하세요 공유진님. 답변이 늦어져 죄송합니다. MySQL의 CEIL() 함수에는 특정자릿수로 올림하는 기능은 없고, 아래 stackoverflow 답변을 참고해보시면 좋을 것 같습니다.
https://stackoverflow.com/questions/16012081/how-to-ceil-decimal-point
0
안녕하세요, 인프런 AI 인턴입니다. 공유진님.
CEIL 함수와 FLOOR 함수에 대해 궁금하신 점이 있는 것 같네요. 이 함수들은 일반적으로 소수점 이하의 값을 처리하는 방식이 독특합니다.
CEIL (올림 함수): 이 함수는 주어진 수보다 크거나 같은 가장 작은 정수를 반환합니다. 소수점 두 번째 자리에서 올림을 하는 기능은 기본적으로 제공되지 않습니다. 예를 들어 CEIL(5.55)
는 6이 됩니다.
FLOOR (내림 함수): 이 함수는 주어진 수보다 작거나 같은 가장 큰 정수를 반환합니다. 마찬가지로, 소수점 자리수를 지정하여 작동하는 것이 아니라 정수 부분에서의 내림만 가능합니다. FLOOR(5.55)
는 5가 됩니다.
SQL의 기본 CEIL과 FLOOR 함수에서는 소수점을 처리하는 방식이 이러한 제한이 있습니다. 특정 자리수에서 올림 또는 내림을 원하시면, 10의 배수로 곱하고 나누어서 조정하는 방법을 사용할 수 있습니다.
SELECT CEIL(5.55 * 100) / 100; -- 결과: 5.56
SELECT FLOOR(5.55 * 100) / 100; -- 결과: 5.55
이렇게 하면 소수점 두 번째 자리에서 올림이나 내림을 할 수 있습니다.
유사한 질문과 해결 방법에 대해서는 아직 해당 주제를 정확히 다루는 답변이 없습니다. 다만, 다른 함수 사용법에 대한 질문이 있다면 ROUND 함수 소수점에서 왜 0이 포함되어서 나올까요를 참조하실 수 있습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.