Duyarlık, ölçek ve uzunluk (Transact-sql)

Hassas birkaç basamak sayısıdır. Ölçek sayıyı ondalık noktanın sağındaki basamak sayısıdır. Örneğin, 123.45 sayısı 5 bir duyarlık ve ölçeği 2 vardır.

De SQL Server, varsayılan en büyük duyarlılık numericve decimalveri türleri ise 38. Önceki sürümlerinde SQL Server, en fazla 28 varsayılandır.

Sayısal veri türü sayı saklamak için kullanılan bayt uzunluğundadır. Bir karakter dizesi veya Unicode veri türü karakter uzunluğundadır. Uzunluğu binary, varbinary, ve imageveri türleri olan bayt sayısı. Örneğin, bir intveri türü 10 rakam tutabilir, 4 bayt olarak depolanır ve ondalık noktalar kabul etmez. intVeri türüne sahip bir duyarlık 4 uzunluğunda ve 0 bir ölçekte 10.

İki char, varchar, binary, ya varbinaryifadeler birleştirilmiş elde edilen deyim uzunluğu iki kaynak ifadeler veya 8.000 karakter uzunlukları toplamı, hangisi az ise.

İki ncharya nvarcharifadeler birleştirilmiş elde edilen deyim uzunluğu iki kaynak ifadeler veya 4.000 karakter uzunlukları toplamı, hangisi az ise.

UNION kullanarak aynı veri türü ama farklı uzunluklarını iki ifadeler karşılaştırıldığında dışında veya INTERSECT, iki ifadeler uzunluğu en fazla sonuç uzunluğudur.

Duyarlık ve ölçeği sayısal veri türlerinin yanı sıra decimalgiderilen. Aritmetik işleç aynı türden iki ifadeler varsa, sonuç aynı veri türü duyarlık ve Ölçek türü için tanımlanmış olan vardır. Bir işleç farklı sayısal veri türleri içeren iki ifadeler varsa, sonuç veri türü veri türü önceliği kuralları tanımlayın. Sonuç duyarlık ve ölçeği, veri türü için tanımlanan vardır.

Aşağıdaki tabloda işlem sonuç türü olduğunda duyarlık ve ölçek sonucu nasıl hesaplandığını tanımlar decimal. Sonuç decimalaşağıdakilerden biri doğru olduğunda:

  • Her iki ifadeler decimal.

  • Bir ifade decimalve diğer bir veri türüne göre daha düşük bir önceliğe sahip olduğunu decimal.

İşlenen ifadeler olarak ifade e1, hassas p1 ve ölçek s1 ile hassas p2 ifade e2 belirtilir ve s2 ölçekleyin. Duyarlık ve ölçeği için değil herhangi bir ifade decimalduyarlık ve ölçek ifade veri türü için tanımlanmış olan.

İşlem

Sonuç duyarlık

Neden ölçek *

E1 + e2

Max (s1, s2) + max (s1 p1, p2 s2) + 1

Max (s1, s2)

E1 - e2

Max (s1, s2) + max (s1 p1, p2 s2) + 1

Max (s1, s2)

E1 * e2

P1 + p2 + 1

S1 + s2

E1 / e2

P1 - s1 + s2 + max (6, s1 + p2 + 1)

Max (6, s1 + p2 + 1)

E1 {UNION | DIŞINDA | INTERSECT} e2

Max (s1, s2) + max (s1 p1, p2 s2)

Max (s1, s2)

E1% e2

Min (s1 p1, p2-s2) + max (s1, s2)

Max (s1, s2)

* Sonuç duyarlık ve ölçeği 38 mutlak bir maksimum sahip. Sonuç duyarlık 38 büyük olduğunda, ilgili ölçek kesilmiş bir sonuç ayrılmaz parçası önlemek için azalır.

Ayrıca bkz.

Başvuru

Ifadeler (Transact-sql)

Veri Türleri (Transact-SQL)