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:
Databricks SQL
Databricks Runtime
Yuvarlama modunu kullanarak expr yuvarlama HALF_EVEN döndürür.
Söz dizimi
bround(expr [,targetScale] )
Bağımsız değişkenler
expr: Sayısal ifade.targetScale:INTEGERifade. AtlanırsatargetScalevarsayılan değer 0'dır (tamsayı).Databricks SQL ve Databricks Runtime 12.2 LTS ve üzerinde: Negatifse
targetscale, pozitif güçlere10yuvarlama gerçekleştirilir.
Döndürülenler
Eğer expr, DECIMAL ise, sonuç, DECIMALexpr ölçeği ve max(targetScale, 0) arasında daha küçük olanla aynı ölçekle elde edilir.
Diğer tüm sayısal türler için sonuç türü ile eşleşir expr.
HALF_EVEN
Gaussyan veya bankacı yuvarlama olarak da bilinen yuvarlamada, basamak 5 çift haneye doğru yuvarlanmış olur.
Yuvarlama için HALF_UP yuvarlak işlevini kullanın.
tam sayı türleri için Azure Databricks yuvarlatılmış değer sonuç türü taştığında bir ARITHMETIC_OVERFLOW hatası oluşturur.
Uyarı
Databricks Runtime 12.2 LTS ve altında ve spark.sql.ansi.enabledDatabricks Runtime'da taşma bir hataya neden olmaz, ancak sonucu "sarmalar".
Yaygın hata koşulları
Örnekler
> SELECT bround(2.5, 0), round(2.5, 0);
2 3
> SELECT bround(3.5, 0), round(3.5, 0);
4 4
> SELECT bround(2.6, 0), round(2.6, 0);
3 3
> SELECT bround(2.25, 1), round(2.25, 1);
2.2 2.3
> SELECT bround(13.5, -1), round(13.5, -1);
10 10
-- Rounding 127 to the nearest 10 produces 130, which overflows TINYINT.
> SELECT bround(cast(127 AS TINYINT), -1);
Error: ARITHMETIC_OVERFLOW