[SQL] SQL의 평균을 반올림 때 어떻게 소수를 검색 할
SQLSQL의 평균을 반올림 때 어떻게 소수를 검색 할
여기 내 SQL 문이다
SELECT ROUND(AVG(column_name), 100)
FROM [database].[dbo].[table]
I는 검색 답은 1 내지 수의 가능한 범위 3 - 5 행 (908).
나는 3.0 또는 3.09 말을해야합니다. 이것이 가능한가?
해결법
-
==============================
1.값이 때문에 값을 주조로 평균은 같은 데이터 유형을해야합니다 :
값이 때문에 값을 주조로 평균은 같은 데이터 유형을해야합니다 :
SELECT ROUND(AVG(CAST(column_name AS FLOAT)), 2) FROM [database].[dbo].[table]
-
==============================
2.이 도움이 될 것입니다 경우 임은 확실하지 당신은 skullomania하지만이 시도
이 도움이 될 것입니다 경우 임은 확실하지 당신은 skullomania하지만이 시도
SELECT CAST(AVG(CAST(column_name as DECIMAL(10,2))) AS DECIMAL(10,2))FROM [table_name]
플로트는 반면에 소수가 더 정확한, 당신은 수레의 수학 및 소수에 읽어 할 수의 것, 대략이다. 나는이와 처음에는 고생 여전히 시간에 잃어버린 느낌. 희망이 당신을 도울 것입니다.
IN C #을 내가) (여기에 대한 답변을 게시 곤경에 얻을 수 있지만, 당신이 이중으로 변환하고, ExecuteScalar는 사용하여 시도 할 수 있습니다하지 않도록 경우
이 시도:
protected void Page_Load(object sender, EventArgs e) { SqlConnection conn= sqlconnectionstring; SqlCommand cmd = new SQLCommand("SELECT STATEMENT",conn); cmd.CommandType = CommandType.Text; conn.Open(); Double result = Convert.ToDouble(cmd.ExecuteScalar()); lblresult.text = "the result is " + result; conn.Dispose(); cmd.Dispose(); }
-
==============================
3.나는 전적으로 당신이 묻는 건지 모르겠지만, 난 당신이 번호를 추가 정밀 돌아왔다하고자하고 있다고 생각합니다.
나는 전적으로 당신이 묻는 건지 모르겠지만, 난 당신이 번호를 추가 정밀 돌아왔다하고자하고 있다고 생각합니다.
당신은 ROUND 함수의 호출을 포장하고 있지만 당신의 열의 데이터 유형은 어떤 정밀 큰이없는 경우 다음 0 (예를 들어 int)를, 당신은 CAST에 필요하거나 먼저 다른 유형으로 데이터를 변환합니다.
여기에 다른 유형의 CAST 데이터를 여러 가지 방법을 설명 몇 가지 예입니다 :
SELECT CAST(100 AS decimal(5, 2)) -- Gives you "100.00" ,CAST(100 AS float) --<== Gives you "100" ,CAST(100.0 AS float) --<== Gives you "100" ,CAST(100.01 AS float) --<== Gives you "100.01"
데이터 형식 (Transact-SQL) : 또한, MSDN을 확인하십시오.
-
==============================
4.당신은 정말, 거기 ROUND을 수행 할 필요가 없습니다. 당신은 다음과 같이 DECIMAL로 값을 변환 할 수 있습니다 :
당신은 정말, 거기 ROUND을 수행 할 필요가 없습니다. 당신은 다음과 같이 DECIMAL로 값을 변환 할 수 있습니다 :
SELECT AVG(CONVERT(DECIMAL(16,2),YourColumn)) FROM YourTable
-
==============================
5.
CAST(AVG(column_name) AS DECIMAL(5, 2))
그것은 100.00로 쇼 (100)의 과 100.05로 100.05
from https://stackoverflow.com/questions/13237477/how-do-i-retrieve-decimals-when-rounding-an-average-in-sql by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] 날짜 비교 비정상적인 결과를 반환 - SQL 오라클 (0) | 2020.06.18 |
---|---|
[SQL] 이동 세포는 왼쪽이 null이 포함 된 경우 SQL에서 왼쪽과 오른쪽 값을 포함 (0) | 2020.06.18 |
[SQL] 특정 테이블을 참조하는 모든 저장 프로 시저를 식별하는 방법 (0) | 2020.06.17 |
[SQL] 여러 행으로 분할 문자열 (0) | 2020.06.17 |
[SQL] SQLAlchemy의 통하여 실행될 때 검색 결과를 산출하지 테라 MERGE (0) | 2020.06.17 |