소수점 이하 4 자리까지 4 개의 값을 표시해야하는 요구 사항이 있습니다. 라운드 기능을 사용하는 동안 반올림하지 않습니다. 아래는 내가 시도한 기능 중 일부입니다. 그러나 그것을 작동시키지 못했습니다. 제가 누락 된 것이 있으면 알려주세요.소수점 이하 4 자리까지 플로트 값을 자르십시오
SELECT CAST(0.1173 AS FLOAT) AS DontRound
INTO #TEMP
UNION ALL
SELECT CAST(12.1373 AS FLOAT) AS DontRound
UNION ALL
SELECT CAST(0.7065 AS FLOAT) AS DontRound
UNION ALL
SELECT CAST(0.7065 AS FLOAT) AS DontRound
UNION ALL
SELECT CAST(0.3534 AS FLOAT) AS DontRound
UNION ALL
SELECT CAST(0.4534 AS FLOAT) AS DontRound
UNION ALL
SELECT CAST(0.5732 AS FLOAT) AS DontRound
UNION ALL
SELECT CAST(0.6487 AS FLOAT) AS DontRound
select DontRound,Round(DontRound,4,1)
, CAST(left(CONVERT(VARCHAR(50),DontRound,128), charindex('.',CONVERT(VARCHAR(50),DontRound,128)) + 4) AS FLOAT)
from #temp
가능한 경우 출력을 float 데이터 유형으로보고 싶습니다.
감사
모든 숫자는 4 자리수의 정밀도를 가지고 있으며 4 자리수로 반올림하려합니다. 따라서 숫자에 이미 4 개의 정밀도가 있으므로 반올림이 발생하지 않습니다. – FLICKER
다른 예제를 사용하면 차이점을 볼 수 있습니다. 모든 시나리오를 포함 할 수 없습니다. 죄송합니다 위의 쿼리에 대한 – sqlsleepless
, 원하는 결과는 무엇입니까? 질문을 편집하고 예상되는 결과를 추가하면 질문에 대한 답을 얻는 데 도움이됩니다. – FLICKER