to_binary
وظيفه
ينطبق على: Databricks SQL preview Databricks Runtime 11.3 LTS وما فوق
إرجاع expr
التحويل إلى BINARY استنادا fmt
إلى .
بناء الجملة
to_binary(expr [, fmt] )
الوسيطات
expr
: تعبير STRING المراد تحويله.fmt
: سلسلة حرفية تصف كيفية تفسيرexpr
.
المرتجعات
ثنائي.
ملاحظات
إذا fmt
تم توفيره، يجب أن يكون واحدا من (غير حساس لحالة الأحرف):
'HEX'
expr
يجب أن تكون سلسلة سداسية عشرية. يجب أن يكون كل حرف رقما سداسيا عشريا ويجب أن يكون هناك عدد زوجي من الأرقام. والنتيجة هي التمثيل الثنائي للسلسلة السداسية العشرية.إذا
expr
لم تكن سلسلة سداسية عشرية صالحة، فإن Azure Databricks ترجع خطأ CONVERSION_INVALID_INPUT . استخدم try_to_binary لإرجاع قيمة NULL بدلا من ذلك.'BASE64'
expr
يجب أن يكون RFC 4648 #4: سلسلة ترميز base64 (قياسية ). والنتيجة هي البيانات الثنائية التي تم فك ترميزها. ضمن RFC 4648 #4، ستؤدي أي سلسلة bae64 مشوهة إلى خطأ CONVERSION_INVALID_INPUT .'UTF-8'
أو'UTF8'
expr
يتم تفسيره على أنه سلسلة UTF-8. والنتيجة هي التمثيل الثنائي للسلسلة.
الإعداد الافتراضي fmt
هو 'HEX'
.
الأمثلة
> SELECT cast(to_binary('537061726B') AS STRING);
Spark
> SELECT cast(to_binary('hello', 'hex') AS STRING);
Error: CONVERSION_INVALID_INPUT
> SELECT cast(try_to_binary('hello', 'hex') AS STRING);
NULL
> SELECT cast(to_binary('537061726B', 'hex') AS STRING);
Spark
> SELECT cast(to_binary('U3Bhcms=', 'base64') AS STRING);
Spark
> SELECT cast(to_binary('U3Bhxcms=', 'base64') AS STRING);
Error: CONVERSION_INVALID_INPUT
> SELECT cast(try_to_binary('U3Bhxcms=', 'base64') AS STRING);
NULL
> SELECT hex(to_binary('서울시(Seoul)', 'UTF-8'));
EC849CEC9AB8EC8B9C2853656F756C29