반응형
MySQL에서 가장 가까운 정수로 내림하는 방법은 무엇입니까?
MySQL에서 가장 가까운 정수로 어떻게 내림합니까?
예: 12345.7344 rounds to 12345
mysql의 round()
함수가 반올림됩니다.
값이나 소수점 이하 자릿수가 얼마나 길지 모르겠습니다. 10 자리, 소수점 4 자리, 2 자리, 소수점 7 자리입니다.
FLOOR 사용 :
SELECT FLOOR(your_field) FROM your_table
소수를 더 낮은 정수 로 반올림 하려면 FLOOR ()를 사용하십시오 . 예 :
FLOOR(1.9) => 1
FLOOR(1.1) => 1
소수점을 가장 가까운 정수 로 반올림 하려면 ROUND ()를 사용하십시오 . 예 :
ROUND(1.9) => 2
ROUND(1.1) => 1
소수를 상위 정수 로 반올림 하려면 CEIL ()을 사용하십시오 . 예 :
CEIL(1.9) => 2
CEIL(1.1) => 2
SELECT FLOOR(12345.7344);
여기에서 자세히 알아보십시오 .
SUBSTR
FLOOR
FLOOR에는 다음과 같은 "버그"가 있기 때문에 어떤 경우 보다 낫습니다 .
SELECT 25 * 9.54 + 0.5 -> 239.00
SELECT FLOOR(25 * 9.54 + 0.5) -> 238 (oops!)
SELECT SUBSTR((25*9.54+0.5),1,LOCATE('.',(25*9.54+0.5)) - 1) -> 239
이 시도,
SELECT SUBSTR(12345.7344,1,LOCATE('.', 12345.7344) - 1)
또는
SELECT FLOOR(12345.7344)
SQLFiddle 데모
소수가 필요한 경우 이것을 사용할 수 있습니다
DECLARE @Num NUMERIC(18, 7) = 19.1471985
SELECT FLOOR(@Num * 10000) / 10000
출력 : 19.147100 지우기 : 985 추가 : 00
또는 이것을 사용하십시오 :
SELECT SUBSTRING(CONVERT(VARCHAR, @Num), 1, CHARINDEX('.', @Num) + 4)
출력 : 19.1471 투명 : 985
다음 두 가지 방법으로 수행 할 수 있습니다.
select floor(desired_field_value) from table
select round(desired_field_value-0.5) from table
2 차 설명 : 12345.7344 정수를 가정합니다. 따라서 12345.7344-0.5 = 12345.2344이고 결과를 반올림하면 12345가됩니다.
참고 URL : https://stackoverflow.com/questions/12361220/how-to-round-down-to-nearest-integer-in-mysql
반응형
'IT박스' 카테고리의 다른 글
ASP.NET MVC 4는 들어오는 모든 요청을 가로 챕니다. (0) | 2020.10.19 |
---|---|
CSS와 함께 FontAwesome 또는 Glyphicons 사용 : before (0) | 2020.10.19 |
매개 변수 개체에서 쿼리 문자열 작성 (0) | 2020.10.19 |
Swift에서 @autoreleasepool과 동등한 것은 무엇입니까? (0) | 2020.10.19 |
Windows에서 Python의 로케일을 설정하는 올바른 방법은 무엇입니까? (0) | 2020.10.19 |