다음을 통해 공유


SqlParameter.Scale 속성

정의

Value가 확인되는 소수점 이하 자릿수를 가져오거나 설정합니다.

public:
 property System::Byte Scale { System::Byte get(); void set(System::Byte value); };
public byte Scale { get; set; }
[System.Data.DataSysDescription("DbDataParameter_Scale")]
public byte Scale { get; set; }
member this.Scale : byte with get, set
[<System.Data.DataSysDescription("DbDataParameter_Scale")>]
member this.Scale : byte with get, set
Public Property Scale As Byte

속성 값

Value가 확인되는 소수 자릿수입니다. 기본값은 0입니다.

구현

특성

예제

다음 예에서는 을 SqlParameter 만들고 일부 속성을 설정합니다.

static void CreateSqlParameterPrecisionScale()
{
    SqlParameter parameter = new SqlParameter("Price", SqlDbType.Decimal);
    parameter.Value = 3.1416;
    parameter.Precision = 8;
    parameter.Scale = 4;
}
Private Sub CreateSqlParameterPrecisionScale()
    Dim parameter As New SqlParameter("Price", SqlDbType.Decimal)
    parameter.Value = 3.1416
    parameter.Precision = 8
    parameter.Scale = 4
End Sub

설명

속성은 Scale , , DateTime2DateTimeOffset또는 TimeDecimal가 있는 SqlDbType 매개 변수에서 사용됩니다.

경고

속성이 명시적으로 지정되지 않고 서버의 Scale 데이터가 배율 0(기본값)에 맞지 않으면 데이터가 잘릴 수 있습니다.
형식의 DateTime2 경우 크기 조정 0(기본값)은 datetime2(7)로 전달됩니다. 현재 매개 변수를 datetime2(0)로 보낼 수 있는 방법은 없습니다. 예상대로 1-7의 크기를 조정합니다. 이 문제는 및 Time 에도 DateTimeOffset 적용됩니다.

매개 변수 값 Precision 에서 유추할 수 있으므로 입력 매개 변수의 및 Scale 속성에 대한 값을 지정할 필요가 없습니다. PrecisionScale 는 출력 매개 변수 및 특정 정밀도 및 배율로 null 값을 지정하는 것과 같이 값을 표시하지 않고 매개 변수에 대한 전체 메타데이터를 지정해야 하는 시나리오에 필요합니다.

참고

데이터베이스에 전달된 데이터를 강제 변환하는 데 이 속성을 사용하는 것은 지원되지 않습니다. 데이터를 데이터베이스에 전달하기 전에 반올림, 자르기 또는 강제 변환하려면 매개 변수의 SystemValue 속성에 값을 할당하기 전에 네임스페이스의 일부인 클래스를 사용합니다Math.

참고

.NET Framework 버전 1.0에 포함된 .NET Framework 데이터 공급자는 또는 ScaleDecimal 매개 변수 값을 확인하지 Precision 않습니다. 이로 인해 잘린 데이터가 데이터 원본에 삽입될 수 있습니다. .NET Framework 버전 1.0을 사용하는 경우 매개 변수 값을 설정하기 전에 값의 DecimalSqlParameter 유효성을 검사 Precision 합니다. Scale 매개 변수 배율을 초과하는 Decimal 값은 여전히 잘립니다.

적용 대상

추가 정보