답변:
이 시도
SELECT CONVERT(DECIMAL(10,2),YOURCOLUMN)
Str()
기능을 사용하십시오 . 세 개의 인수 (수, 표시 할 총 문자 수 및 표시 할 소수 자릿수)가 필요합니다.
Select Str(12345.6789, 12, 3)
표시 : '12345.679'(3 칸, 5 자리 12345, 소수점 및 3 자리 소수점 679)-정수 부분이 전체 크기에 비해 너무 크지 않은 경우 잘 리면 반올림됩니다. 별표가 대신 표시됩니다.)
소수점 오른쪽에 3이있는 총 12 자입니다.
it rounds if it has to truncate
... 정수 부분이 전체 크기에 비해 너무 크지 않은 경우 별표가 대신 표시됩니다. 이에 대한 설명서에STR
언급되어 있습니다. 그 페이지에서 인용 한 것이 있습니다 :STR(1223,2) truncates the result set to **.
일반적으로 매개 변수로 숫자를 정의하여 SQL에서 숫자의 정밀도를 정의 할 수 있습니다. 대부분의 경우이 값은 NUMERIC(10,2)
또는 Decimal(10,2)
-열을 10의 전체 자릿수 (정밀도 2 (소수 자릿수))로 정의합니다.
명확성을 위해 편집
이것이 오늘날 아이들이하는 일입니다.
DECLARE @test DECIMAL(18,6) = 123.456789
SELECT FORMAT(@test, '##.##')
123.46
DECLARE @test DECIMAL(18,6) = 0.456789
다음과 같으면 다음을 SELECT FORMAT(@test, '##.##')
반환합니다. .46
선행 0을 어떻게 표시 0.46
합니까?