YUVARLAK (Transact-sql)
Belirtilen uzunluk ya da hassas sayısal bir değer döndürür.
Transact-SQL Sözdizim Kuralları
Sözdizimi
ROUND ( numeric_expression , length [ ,function ] )
Bağımsız değişkenler
numeric_expression
Olan bir ifade , tam sayısal veya yaklaşık sayısal veri türü kategori, dışında bitveri türü.length
Hangi duyarlılık numeric_expressionyuvarlanacak olur. lengthbir deyim türünde olmalıdır tinyint, smallint, ya int. Ne zaman lengthpozitif bir sayı olan numeric_expressiontarafından belirtilen ondalık konumlar sayısına yuvarlanır length. Ne zaman lengthnegatif bir sayı olduğunu numeric_expressionbelirttiği gibi ondalık noktasının solunda yuvarlanır length.function
İşlemi gerçekleştirmek için türüdür. functionmust be tinyint, smallint, or int. Ne zaman functionatlanmış veya bir değeri 0 (varsayılan), numeric_expressionyuvarlanır. 0 Dışında bir değer belirtilirse, numeric_expressionkesildi.
Dönüş Türleri
Aşağıdaki veri türlerini döndürür.
Ifade sonucu |
Dönüş türü |
---|---|
tinyint |
int |
smallint |
int |
int |
int |
bigint |
bigint |
decimalve numericKategori (p, s) |
decimal(p, s) |
moneyve smallmoneyKategori |
money |
floatve realKategori |
float |
Açıklamalar
BOYUNCA her zaman bir değer döndürür. Eğer lengthnegatif ve daha önce ondalık virgülün sağındaki basamak sayısı büyük, yuvarlak, 0 değerini döndürür.
Örnek |
Sonuç |
---|---|
ROUND (748.58, -4) |
0 |
Tur döndürür bir yuvarlak numeric_expressionveri türüne bakılmaksızın ne zaman lengthnegatif sayı.
Örnekler |
Sonuç |
---|---|
ROUND (748.58, -1) |
750.00 |
ROUND (748.58, -2) |
700.00 |
ROUND (748.58, -3) |
Çünkü 748.58 hangi 1000,00 döndüremez decimal(5,2) için varsayılan olarak bir Aritmetik Taşma alanında sonuçlanır. |
En çok 4 basamak yuvarlamak için giriş veri türünü değiştirin. Örneğin: SELECT ROUND(CAST (748.58 AS decimal (6,2)),-3); |
1000.00 |
Örnekler
A.İstimal yuvarlak ve tahminleri
Iki ifadeler kullanarak gösteren aşağıdaki örnekte gösterilmiştir ROUNDson basamağı hep bir tahmindir.
SELECT ROUND(123.9994, 3), ROUND(123.9995, 3)
GO
SELECT ROUND(123.9994, 3), ROUND(123.9995, 3)
GO
Sonuç kümesi buradadır.
----------- -----------
123.9990 124.0000
----------- -----------
123.9990 124.0000
B.YUVARLAK ve approximations yuvarlama
Aşağıdaki örnek, yuvarlama ve approximations gösterir.
SELECT ROUND(123.4545, 2);
GO
SELECT ROUND(123.45, -2);
GO
SELECT ROUND(123.4545, 2);
GO
SELECT ROUND(123.45, -2);
GO
Sonuç kümesi buradadır.
----------
123.4500
(1 row(s) affected)
--------
100.00
(1 row(s) affected)
C.YUVARLAK kesecek şekilde kullanma
Aşağıdaki örnek, iki kullanır SELECTyuvarlama ve kesilme arasındaki farkı göstermek için deyimleri. İlk ifade, sonuç yuvarlanır. İkinci ifade, sonuç keser.
SELECT ROUND(150.75, 0);
GO
SELECT ROUND(150.75, 0, 1);
GO
SELECT ROUND(150.75, 0);
GO
SELECT ROUND(150.75, 0, 1);
GO
Sonuç kümesi buradadır.
--------
151.00
(1 row(s) affected)
--------
150.00
(1 row(s) affected)
--------
151.00
(1 row(s) affected)
--------
150.00
(1 row(s) affected)