conv وظيفه

ينطبق على:وضع علامة Databricks SQL وضع علامة Databricks Runtime

num تحويل من fromBase إلى toBase.

بناء الجملة

conv(num, fromBase, toBase)

الوسيطات

  • numSTRING: تعبير يعبر عن رقم في fromBase.
  • fromBaseINTEGER: تعبير يشير إلى قاعدة المصدر.
  • toBase: تعبير INTEGER يشير إلى القاعدة الهدف.

المرتجعات

STRING.

تدعم الدالة الأساس 2 إلى الأساس 36. يمثل الرقم 'A' (أو 'a') الرقم العشري 10 ويمثل 'Z' (أو 'z') الرقم العشري 35. يمتد نطاق القيم المدعومة إلى BIGINTنطاق .

إذا كان fromBase أقل من 2 أو toBase -1 أو 0 أو 1، فإن النتيجة هي NULL.

إذا كان toBase سالبا num ، يتم تفسيره على أنه رقم موقع، وإلا فإنه يتم التعامل معه على أنه رقم غير موقع.

إذا كان num Databricks SQL وDatabricks Runtime 13.3 LTS وما فوق خارج النطاق يثير ARITHMETIC_OVERFLOW.

تحذير

في Databricks Runtime إذا كان spark.sql.ansi.enabled هو false، فإن التجاوز لا يسبب خطأ ولكنه "يلتف" النتيجة بدلا من ذلك.

الأمثلة

> SELECT conv('100', 2, 10);
 4

> SELECT conv('-10', 16, 10);
 18446744073709551600

> SELECT conv('-10', 16, -10);
 -16

> SELECT conv('-1', 10, 10);
 18446744073709551615

> SELECT conv('FFFFFFFFFFFFFFFFF', 16, 10);
 Error: ARITHMETIC_OVERFLOW

> SELECT conv('FFFFFFFFFFFFFFFF', 16, 10);
 18446744073709551615

> SELECT conv('FFFFFFFFFFFFFFFF', 16, -10);
 -1