Aracılığıyla paylaş


YUVARLAK (Transact-sql)

Belirtilen uzunluk ya da hassas sayısal bir değer döndürür.

Konu bağlantısı simgesi 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)

Ayrıca bkz.

Başvuru

Tavan (Transact-sql)

Veri Türleri (Transact-SQL)

Ifadeler (Transact-sql)

Kat (Transact-sql)

Matematiksel işlevler (Transact-sql)