[SQL] SQL은 - 소수점 이하 2 자리에서 반올림
SQLSQL은 - 소수점 이하 2 자리에서 반올림
내가 시간 분을 변환 할 필요도 소수점 이후에만 최대 2 개 번호로 표시해야 소수점 이하 2 군데를 반올림. 650.Then 시간은 10.83을해야 나는이 분을한다면
여기에 지금까지 가지고 무엇을 :
Select round(Minutes/60.0,2) from ....
그러나이 경우, 내 분 인 경우, (630), 말 - 시간 10.5000000이다. 그러나 나는 (반올림 후) 만 10.50로합니다. 이걸 어떻게 달성합니까?
해결법
-
==============================
1.당신은 (2 개) 숫자로 결과를 캐스팅 할 수 없습니다? 여기서 x <= 38
당신은 (2 개) 숫자로 결과를 캐스팅 할 수 없습니다? 여기서 x <= 38
select round(630/60.0,2), cast(round(630/60.0,2) as numeric(36,2))
보고
10.500000 10.50
-
==============================
2.SQL 서버 2012와 같이 사용할 수있는 내장 포맷 기능 :
SQL 서버 2012와 같이 사용할 수있는 내장 포맷 기능 :
SELECT FORMAT(Minutes/60.0, 'N2')
(단지 더 판독 용)
-
==============================
3.당신이 사용할 수있는
당신이 사용할 수있는
select cast((630/60.0) as decimal(16,2))
-
==============================
4.
Declare @number float = 35.44987665; Select round(@number,2)
-
==============================
5.
CAST(QuantityLevel AS NUMERIC(18,2))
-
==============================
6.
DECLARE @porcentaje FLOAT SET @porcentaje = (CONVERT(DECIMAL,ABS(8700)) * 100) / CONVERT(DECIMAL,ABS(37020)) SELECT @porcentaje
-
==============================
7.PostgreSQL은 오라클과 함께 모두에서 작동
PostgreSQL은 오라클과 함께 모두에서 작동
SELECT ename, sal, round(((sal * .15 + comm) /12),2) FROM emp where job = 'SALESMAN'
-
==============================
8.다음 쿼리는 유용하고 SIMPLE-입니다
다음 쿼리는 유용하고 SIMPLE-입니다
declare @floatExchRate float; set @floatExchRate=(select convert(decimal(10, 2), 0.2548712)) select @floatExchRate
0.25로 출력을 제공한다.
-
==============================
9.이제까지 당신이 예를 100분의 1,548을 위해 15.00를 제공 진수에 있어야 교단에 사용
이제까지 당신이 예를 100분의 1,548을 위해 15.00를 제공 진수에 있어야 교단에 사용
우리는 우리의 예에서 100.0로 100을 대체 할 경우, 우리는 15.48를 얻을 것이다
select 1548/100 15.00000 select 1548/100.0 15.4800 0
-
==============================
10.숫자 형 또는 10 진수로 전화 번호를 변환합니다.
숫자 형 또는 10 진수로 전화 번호를 변환합니다.
다음으로 쿼리를 교체합니다.
SQL 서버
Select Convert(Numeric(38, 2), Minutes/60.0) from ....
MySQL은 :
Select Convert(Minutes/60.0, Decimal(65, 2)) from ....
캐스트 기능은 변환 함수에 대한 래퍼입니다. 커플 SQL로 해석 된 언어되고, 그 결과는 두 가지 기능이 동일한 결과를 생성하더라도, 캐스트 함수의 뒤에서가는 약간이 있다는 것을. 변환 기능을 사용하면 작은 절약이지만, 작은 절약 곱셈.
-
==============================
11.이 시도 : SELECT CAST (ROUND ([액 1] / 60,2) AS DECIMAL (10,2)) 총량
이 시도 : SELECT CAST (ROUND ([액 1] / 60,2) AS DECIMAL (10,2)) 총량
-
==============================
12.수식에 INT 또는 비 소수점 데이터 유형을 사용할 때 추가 기능 아래의 답변에 관해서는, (1)에 의한 가치와 당신이 선호하는 소수의 수를 곱해야합니다.
수식에 INT 또는 비 소수점 데이터 유형을 사용할 때 추가 기능 아래의 답변에 관해서는, (1)에 의한 가치와 당신이 선호하는 소수의 수를 곱해야합니다.
즉 - TotalPackages는 INT와 분모 TotalContainers 있도록,하지만 난 내 결과가 6 소수점까지 갖고 싶어.
그러므로:
((m.TotalPackages * 1.000000) / m.TotalContainers) AS Packages,
-
==============================
13.다음 코드는 당신을 도울 수 있습니다
다음 코드는 당신을 도울 수 있습니다
select SUBSTR(ENDDTTM,1, 9), extract(DAY FROM (ENDDTTM)), ENDDTTM, BEGINDTTM, (ENDDTTM - BEGINDTTM),substr(BEGINDTTM, 1,15), substr((ENDDTTM - BEGINDTTM), 12, 8), round((substr((ENDDTTM - BEGINDTTM), 12, 2)* 3600 + substr((ENDDTTM - BEGINDTTM), 15, 2)*60 + substr((ENDDTTM - BEGINDTTM), 18, 2)),2) as seconds, round((substr((ENDDTTM - BEGINDTTM), 12, 2)* 60 + substr((ENDDTTM - BEGINDTTM), 15, 2) + substr((ENDDTTM - BEGINDTTM), 18, 2)/60 ), 2)as minutes, round((substr((ENDDTTM - BEGINDTTM), 12, 2) + substr((ENDDTTM - BEGINDTTM), 15, 2)/60 + substr((ENDDTTM - BEGINDTTM), 18, 2)/3600 ),2) as hours
-
==============================
14.나는 STR 기능이 달성의 가장 깨끗한 방법을 찾을 수 있습니다.
나는 STR 기능이 달성의 가장 깨끗한 방법을 찾을 수 있습니다.
SELECT STR(ceiling(123.415432875), 6, 2)
from https://stackoverflow.com/questions/10380197/sql-rounding-off-to-2-decimal-places by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] 어떻게 재 작성하는 구별된다과 구별되지 않는 이유는 무엇입니까? (0) | 2020.04.07 |
---|---|
[SQL] 가장 빠른 방법은 120 만 개 기록을 업데이트 (0) | 2020.04.07 |
[SQL] CTE에서 테이블의 업데이트 기록 (0) | 2020.04.07 |
[SQL] 오라클 사용하여 대량 삽입 .NET (0) | 2020.04.06 |
[SQL] 절 "과"MySQL을 포함하지 않음? (0) | 2020.04.06 |