* split up select.md * array-join.md basic refactoring * distinct.md basic refactoring * format.md basic refactoring * from.md basic refactoring * group-by.md basic refactoring * having.md basic refactoring * additional index.md refactoring * into-outfile.md basic refactoring * join.md basic refactoring * limit.md basic refactoring * limit-by.md basic refactoring * order-by.md basic refactoring * prewhere.md basic refactoring * adjust operators/index.md links * adjust sample.md links * adjust more links * adjust operatots links * fix some links * adjust aggregate function article titles * basic refactor of remaining select clauses * absolute paths in make_links.sh * run make_links.sh * remove old select.md locations * translate docs/es * translate docs/fr * translate docs/fa * remove old operators.md location * change operators.md links * adjust links in docs/es * adjust links in docs/es * minor texts adjustments * wip * update machine translations to use new links * fix changelog * es build fixes * get rid of some select.md links * temporary adjust ru links * temporary adjust more ru links * improve curly brace handling * adjust ru as well * fa build fix * ru link fixes * zh link fixes * temporary disable part of anchor checks
7.0 KiB
machine_translated | machine_translated_rev | toc_priority | toc_title |
---|---|---|---|
true | 72537a2d52 |
45 | Dönmüş |
Yuvarlama Fonksiyonları
kat(x [, N])
Küçük veya eşit olan en büyük yuvarlak sayıyı döndürür x
. Yuvarlak bir sayı, 1/10N'NİN katları veya 1 / 10N tam değilse, uygun veri türünün en yakın sayısıdır.
‘N’ bir tamsayı sabiti, isteğe bağlı parametredir. Varsayılan olarak sıfırdır, bu da bir tam sayıya yuvarlamak anlamına gelir.
‘N’ negatif olabilir.
Örnekler: floor(123.45, 1) = 123.4, floor(123.45, -1) = 120.
x
herhangi bir sayısal türüdür. Sonuç aynı türden bir sayıdır.
Tamsayı argümanları için, bir negatif ile yuvarlamak mantıklıdır N
değer (negatif olmayan için N
, işlev hiçbir şey yapmaz).
Yuvarlama taşmasına neden olursa (örneğin, floor (-128, -1)), uygulamaya özgü bir sonuç döndürülür.
tavan(x [, N]), tavan (x [, N])
Büyük veya eşit olan en küçük yuvarlak sayıyı döndürür x
. Diğer her şekilde, aynı floor
(yukarıda) işlevi.
trunc(x [, N]), truncate(x [, N])
Mutlak değeri küçük veya eşit olan en büyük mutlak değere sahip yuvarlak sayıyı döndürür x
‘s. In every other way, it is the same as the ’floor’ (yukarıda) işlevi.
Yuvarlak(x [, N])
Belirtilen sayıda ondalık basamak için bir değer yuvarlar.
İşlev, belirtilen siparişin en yakın numarasını döndürür. Verilen sayı çevreleyen sayılara eşit mesafeye sahip olduğunda, işlev, float sayı türleri için bankacının yuvarlamasını kullanır ve diğer sayı türleri için sıfırdan uzaklaşır.
round(expression [, decimal_places])
Parametre:
expression
— A number to be rounded. Can be any ifade sayısal dönen veri türü.decimal-places
— An integer value.- Eğer
decimal-places > 0
sonra işlev değeri ondalık noktanın sağına yuvarlar. - Eğer
decimal-places < 0
ardından işlev değeri ondalık noktanın soluna yuvarlar. - Eğer
decimal-places = 0
sonra işlev değeri tamsayı olarak yuvarlar. Bu durumda argüman ihmal edilebilir.
- Eğer
Döndürülen değer:
Giriş numarası ile aynı türden yuvarlatılmış sayı.
Örnekler
Kullanım örneği
SELECT number / 2 AS x, round(x) FROM system.numbers LIMIT 3
┌───x─┬─round(divide(number, 2))─┐
│ 0 │ 0 │
│ 0.5 │ 0 │
│ 1 │ 1 │
└─────┴──────────────────────────┘
Yuvarlama örnekleri
En yakın numaraya yuvarlama.
round(3.2, 0) = 3
round(4.1267, 2) = 4.13
round(22,-1) = 20
round(467,-2) = 500
round(-467,-2) = -500
Bankacı yuvarlanıyor.
round(3.5) = 4
round(4.5) = 4
round(3.55, 1) = 3.6
round(3.65, 1) = 3.6
Ayrıca Bakınız
roundBankers
Bir sayıyı belirtilen ondalık konuma yuvarlar.
-
Yuvarlama sayısı iki sayı arasında yarıya ise, işlev banker yuvarlama kullanır.
Banker's rounding is a method of rounding fractional numbers. When the rounding number is halfway between two numbers, it's rounded to the nearest even digit at the specified decimal position. For example: 3.5 rounds up to 4, 2.5 rounds down to 2. It's the default rounding method for floating point numbers defined in [IEEE 754](https://en.wikipedia.org/wiki/IEEE_754#Roundings_to_nearest). The [round](#rounding_functions-round) function performs the same rounding for floating point numbers. The `roundBankers` function also rounds integers the same way, for example, `roundBankers(45, -1) = 40`.
-
Diğer durumlarda, işlev sayıları en yakın tam sayıya yuvarlar.
Banker yuvarlama kullanarak, yuvarlama numaraları toplama veya bu sayıları çıkarma sonuçları üzerindeki etkisini azaltabilir.
Örneğin, farklı yuvarlama ile 1.5, 2.5, 3.5, 4.5 sayılarını topla:
- Yuvarlama yok: 1.5 + 2.5 + 3.5 + 4.5 = 12.
- Bankacı yuvarlama: 2 + 2 + 4 + 4 = 12.
- En yakın tam sayıya yuvarlama: 2 + 3 + 4 + 5 = 14.
Sözdizimi
roundBankers(expression [, decimal_places])
Parametre
expression
— A number to be rounded. Can be any ifade sayısal dönen veri türü.decimal-places
— Decimal places. An integer number.decimal-places > 0
— The function rounds the number to the given position right of the decimal point. Example:roundBankers(3.55, 1) = 3.6
.decimal-places < 0
— The function rounds the number to the given position left of the decimal point. Example:roundBankers(24.55, -1) = 20
.decimal-places = 0
— The function rounds the number to an integer. In this case the argument can be omitted. Example:roundBankers(2.5) = 2
.
Döndürülen değer
Banker yuvarlama yöntemi tarafından yuvarlanan bir değer.
Örnekler
Kullanım örneği
Sorgu:
SELECT number / 2 AS x, roundBankers(x, 0) AS b fROM system.numbers limit 10
Sonuç:
┌───x─┬─b─┐
│ 0 │ 0 │
│ 0.5 │ 0 │
│ 1 │ 1 │
│ 1.5 │ 2 │
│ 2 │ 2 │
│ 2.5 │ 2 │
│ 3 │ 3 │
│ 3.5 │ 4 │
│ 4 │ 4 │
│ 4.5 │ 4 │
└─────┴───┘
Bankacı yuvarlama örnekleri
roundBankers(0.4) = 0
roundBankers(-3.5) = -4
roundBankers(4.5) = 4
roundBankers(3.55, 1) = 3.6
roundBankers(3.65, 1) = 3.6
roundBankers(10.35, 1) = 10.4
roundBankers(10.755, 2) = 11,76
Ayrıca Bakınız
roundToExp2 (num)
Bir sayı kabul eder. Sayı birden az ise, 0 döndürür. Aksi takdirde, sayıyı en yakın (negatif olmayan) iki dereceye yuvarlar.
roundDuration (num)
Bir sayı kabul eder. Sayı birden az ise, 0 döndürür. Aksi takdirde, sayıyı kümeden sayılara yuvarlar: 1, 10, 30, 60, 120, 180, 240, 300, 600, 1200, 1800, 3600, 7200, 18000, 36000. Bu fonksiyon (kayıt olmak için özeldir.Metrica ve oturum uzunluğu raporu uygulamak için kullanılır.
roundAge (num)
Bir sayı kabul eder. Sayı 18'den küçükse, 0 döndürür. Aksi takdirde, sayıyı kümeden bir sayıya yuvarlar: 18, 25, 35, 45, 55. Bu fonksiyon (kayıt olmak için özeldir.Metrica ve kullanıcı yaş raporu uygulamak için kullanılır.
roundDown (num, arr)
Bir sayıyı kabul eder ve belirtilen Dizideki bir öğeye yuvarlar. Değer en düşük sınırdan küçükse, en düşük sınır döndürülür.