SqlParameter.Scale 屬性
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
取得或設定 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是由具有 SqlDbTypeDecimal
、 DateTime2
DateTimeOffset
或的參數Time
所使用。
警告
如果未明確指定 屬性, Scale 而且伺服器上的數據不符合縮放比例 0, (預設) ,可能會截斷數據。
DateTime2
針對類型,小數字數0 (預設) 會傳遞為datetime2 (7) 。 目前沒有任何方法可以傳送參數作為 datetime2 (0) 。 縮放 1-7 會如預期般運作。
DateTimeOffset
此問題也適用於 與 Time
。
您不需要為輸入參數指定 和 Scale 屬性的值Precision,因為它們可以從參數值推斷。
Precision
和 Scale
是輸出參數的必要專案,以及您需要指定參數的完整元數據而不指出值的情況,例如指定具有特定有效位數和小數字數的 Null 值。
注意
不支援使用這個屬性來強制傳遞至資料庫的數據。 若要在將數據傳遞至資料庫之前四捨五入、截斷或其他強制型轉數據,請在將值指派給參數的屬性之前,先使用 Math 屬於命名空間一 System
部分的 Value
類別。
注意
.NET Framework .NET Framework 1.0 版隨附的數據提供者不會驗證 Precision 或 ScaleDecimal 參數值。 這可能會導致截斷的數據插入數據源。 如果您使用 .NET Framework 1.0 版,請先驗證 Precision 和 SqlParameterDecimal 的值,再設定參數值。 Scale 超過 Decimal 參數小數字數的值仍會遭到截斷。