programing

SQL Server 소수점 두 자리 숫자 쓰기

iphone6s 2023. 4. 7. 21:00
반응형

SQL Server 소수점 두 자리 숫자 쓰기

sql server에 소수점 두 자리 숫자를 어떻게 쓰나요?

이거 드셔보세요

SELECT CONVERT(DECIMAL(10,2),YOURCOLUMN)

예를 들어

SELECT CONVERT(DECIMAL(10,2),2.999999)

결과적으로는 출력됩니다.3.00

여기에 이미지 설명 입력

사용하다Str()기능.여기에는 3개의 인수(숫자, 표시할 총 문자 수 및 소수점 이하 자리 수)가 필요합니다.

  Select Str(12345.6789, 12, 3)

표시: '12345.679'(3 공백, 5자리 12345, 소수점, 소수점 3자리(679)) - 잘라내야 할 경우 반올림합니다(정수 부분이 총 크기에 비해 너무 크지 않으면 대신 아스타리스크가 표시됩니다).

소수점 오른쪽에 3이 있는 총 12글자일 경우

일반적으로 SQL에서 숫자를 매개 변수로 정의하여 숫자의 정밀도를 정의할 수 있습니다.대부분의 경우 이것은NUMERIC(10,2)또는Decimal(10,2)- 열을 정밀도 2(10진수)의 총 10자리 숫자로 정의합니다.

알기 쉽게 편집

오늘날 아이들은 이렇게 하고 있습니다.

DECLARE @test DECIMAL(18,6) = 123.456789
SELECT FORMAT(@test, '##.##')

123.46

이것은 나에게 효과가 있고 항상 두 자리 분수를 유지한다.

23.1 == > 23.10

25.569 ==> 25.56

1 == > 1.00

Cast(CONVERT(DECIMAL(10,2),Value1) as nvarchar) AS Value2

코드 스크린샷

소수점 이하 두 자리만 필요한 경우 가장 간단한 방법은..

SELECT CAST(12 AS DECIMAL(16,2))

또는

SELECT CAST('12' AS DECIMAL(16,2))

산출량

12.00

숫자를 잘라내는 대신 반올림해도 괜찮으시다면 다음과 같습니다.

ROUND(column_name,decimals)

이것을 시험해 보세요.

 declare @MyFloatVal float;

    set @MyFloatVal=(select convert(decimal(10, 2), 10.254000))

    select  @MyFloatVal

    Convert(decimal(18,2),r.AdditionAmount) as AdditionAmount

삽입할 값(예: 2.99)에 100을 곱합니다.

그런 다음 끝에 0.01을 더한 결과 중 100으로 나눗셈을 삽입합니다.

299.01/100

이렇게 하면 소수점 뒤에 2개의 값을 가진 총 10자리가 허용됩니다.즉, 10진수 이전의 값은 최대 8자리까지, 10진수 이후의 값은 2까지 수용할 수 있습니다.

유효성을 확인하려면 다음 쿼리에 값을 입력합니다.

DECLARE vtest  number(10,2);
BEGIN
SELECT 10.008 INTO vtest FROM dual;
dbms_output.put_line(vtest);
END;

소수점 두 개를 갖는 가장 쉬운 방법은 "F" 매개 변수를 사용하는 SQL 형식입니다.

SELECT FORMAT(5634.6334, 'F')

오래된 질문이긴 하지만

FORMAT(10, 'N2')

출력 10.00

아래에 있는 다른 방법(예: 60/100 = 0.6, SELECT CONVERT(DECIMAL(10,2),(60*0.01)) = 0.60))을 사용해 보겠습니다.

  SELECT CONVERT(DECIMAL(10,2),(YourValue*0.01))

언급URL : https://stackoverflow.com/questions/441600/write-a-number-with-two-decimal-places-sql-server

반응형