Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir:SQL Server
Azure SQL Veritabanı
Azure SQL Yönetilen Örneği
Azure Synapse Analytics
Analiz Platformu Sistemi (PDW)
Microsoft Fabric'teki SQL analiz uç noktası
Microsoft Fabric'teki ambar
Microsoft Fabric'teki SQL veritabanı
Tamsayı verisi kullanan tam sayı veri türleri. Veritabanında yer kazanmak için, tüm olası değerleri güvenilir bir şekilde içerebilen en küçük veri türünü kullanın. Örneğin, durum değerlerine sahip küçük bir arama tablosu için tinyint yeterli olabilir, çünkü 256 satıra kadar depolayabilir. Ancak tinyint , bir çalışan listesi için yeterli değildir, çünkü şirketinizde yüzlerce veya binlerce çalışan olabilir.
| Veri türü | Range | Aralık ifadesi | Storage |
|---|---|---|---|
| bigint | -9,223,372,036,854,775,808 - 9,223,372,036,854,775,807 | -2^63 - 2^63-1 | 8 bayt |
| int | -2.147.483.648 ile 2.147.483.647 | -2^31 - 2^31-1 | 4 bayt |
| smallint | -32.768 - 32.767 | -2^15 - 2^15-1 | 2 bayt |
| tinyint | 0 - 255 | 2^0-1 - 2^8-1 | 1 bayt |
Remarks
int veri türü, SQL Server'daki birincil tamsayı veri türüdür. bigint veri türü, tamsayı değerleri int veri türü tarafından desteklenen aralığı aştığında kullanılmak üzere tasarlanmıştır.
bigint , veri türü öncelik grafiğinde smallmoney ve int arasında yer alır.
İşlevler yalnızca parametre ifadesi bir bigint veri türüyse bigint döndürür. SQL Server, diğer tamsayı veri türlerini (tinyint, smallint ve int) bigint'e otomatik olarak yükseltmez.
Dönüştürme ve parametreleştirme
+, -*/, %tinyint veya bigint sabit değerlerinin float, real, decimal veya sayısal veri türlerine örtük veya açık bir şekilde dönüştürülmesi için , , , veya aritmetik işleçlerini kullandığınızda, SQL Server'ın ifade sonuçlarının veri türünü ve duyarlığı hesaplarken uyguladığı kurallar, sorgunun otomatik parametreli olup olmamasına bağlı olarak değişir.
Bu nedenle, sorgulardaki benzer ifadeler bazen farklı sonuçlar üretebilir. Bir sorgu otomatik olarak parametrelendirilmezse, sabit değer, belirtilen veri türüne dönüştürülmeden önce, duyarlılığı sabitin değerini tutacak kadar büyük olan ondalık değere dönüştürülür. Örneğin, sabit değer 1ondalık(1,0)'a dönüştürülür ve sabit değer 250ondalık(3,0)'a dönüştürülür.
Bir sorgu otomatik olarak parametrelendirildiğinde sabit değer, son veri türüne dönüştürülmeden önce her zaman ondalık (10,0) değerine dönüştürülür. / işleci söz konusu olduğunda, sonuç türünün duyarlığı benzer sorgular arasında farklılık göstermekle kalmaz, sonuç değeri de farklılık gösterebilir. Örneğin, ifadesini SELECT CAST (1.0 / 7 AS float)içeren otomatik parametreleştirilmiş sorgunun sonuç değeri, otomatik parametreli sorgunun sonuçları ondalık (10,0) veri türüne sığacak şekilde kesildiğinden, otomatik parametrelendirilmeyen aynı sorgunun sonuç değerinden farklıdır.
Tinyint veri türü Microsoft Fabric'te desteklenmez.
Tamsayı verilerini dönüştürme
Tamsayılar örtük olarak bir karakter veri türüne dönüştürüldüğünde, tamsayı karakter alanına sığamayacak kadar büyükse, SQL Server ASCII karakter 42'yi (yıldız işareti)* kullanır.
2.147.483.647'den büyük tamsayı sabitleri bigint veri türüne değil ondalık veri türüne dönüştürülür. Aşağıdaki örnekte eşik değeri aşıldığında sonucun veri türünün int'tenondalık değere değiştiği gösterilmektedir.
SELECT 2147483647 / 2 AS Result1,
2147483649 / 2 AS Result2;
Sonuç kümesi aşağıdadır.
Result1 Result2
----------- ------------------
1073741823 1073741824.500000
Examples
Aşağıdaki örnek bigint, int, smallint ve tinyint veri türlerini kullanarak bir tablo oluşturur. Değerler her sütuna eklenir ve deyiminde SELECT döndürülür.
CREATE TABLE dbo.MyTable
(
MyBigIntColumn BIGINT,
MyIntColumn INT,
MySmallIntColumn SMALLINT,
MyTinyIntColumn TINYINT
);
GO
INSERT INTO dbo.MyTable
VALUES (9223372036854775807, 2147483647, 32767, 255);
GO
SELECT MyBigIntColumn,
MyIntColumn,
MySmallIntColumn,
MyTinyIntColumn
FROM dbo.MyTable;
Sonuç kümesi aşağıdadır.
MyBigIntColumn MyIntColumn MySmallIntColumn MyTinyIntColumn
-------------------- ----------- ---------------- ---------------
9223372036854775807 2147483647 32767 255