to_char دالة

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

إرجاع expr التحويل إلى STRING استخدام التنسيق fmt.

في Databricks Runtime 14.0 والدعم السابق to_char expr للأنواب الرقمية.

في Databricks SQL وDatabricks Runtime 14.1 وما فوق to_char يدعم expr أيضا أنواع DATEو TIMESTAMPو BINARY

to_charهو مرادف to_varchar.

بناء الجملة

to_char(expr, { numericFormat | datetimeFormat | stringFormat } )

numericFormat
  { ' [ S ] [ L | $ ]
      [ 0 | 9 | G | , ] [...]
      [ . | D ]
      [ 0 | 9 ] [...]
      [ L | $ ] [ PR | MI | S ] ' }

الوسيطات

  • expr: تعبير من النوع الرقمي أو التاريخ والوقت أو STRING.BINARY
  • numericFormatSTRING: حرفي، يحدد الإخراج المنسق لنوع expr رقمي.
  • datetimeFormatSTRING: حرفي، يحدد الإخراج المنسق لنوع expr التاريخ والوقت.
  • stringFormatSTRING: حرفي، يحدد الإخراج المنسق لنوع expr BINARY.

المرتجعات

يمثل STRING نتيجة عملية التنسيق.

datetmeFormat يمكن أن يحتوي على الأنماط المحددة في أنماط التاريخ والوقت.

stringFormat يمكن أن يكون أحد ما يلي (غير حساس لحالة الأحرف):

  • 'base64'

    سلسلة 64 أساسية.

  • "سداسي"

    سلسلة بالتنسيق السداسي العشري.

  • 'utf-8'

    يتم فك ترميز ثنائي الإدخال إلى سلسلة UTF-8.

numericFormat يمكن أن يحتوي على العناصر التالية (غير حساس لحالة الأحرف):

  • 0 أو 9

    تحديد رقم متوقع بين 0 و9. يتطابق تسلسل الأرقام مع قيم بين 0 و9 في سلسلة التنسيق مع تسلسل من الأرقام في قيمة الإدخال. يؤدي ذلك إلى إنشاء سلسلة نتائج بنفس طول التسلسل المقابل لسلسلة التنسيق. تتم إضافة سلسلة النتيجة إلى اليسار بالأصفار إذا كان التسلسل 0/9 يتضمن أرقاما أكثر من الجزء المطابق للقيمة العشرية، ويبدأ ب 0، وقبل الفاصلة العشرية. وإلا، يتم إضافته بمسافات.

  • . أو D

    تحديد موضع الفاصلة العشرية (اختياري، مسموح به مرة واحدة فقط).

  • , أو G

    تحديد موضع فاصل التجميع (الآلاف) (،). يجب أن يكون هناك 0 أو 9 إلى اليسار واليمين من كل فاصل تجميع.

  • $

    تحديد موقع علامة العملة $ . يمكن تحديد هذا الحرف مرة واحدة فقط.

  • S أو MI

    تحديد موضع علامة '-' أو '+' (اختياري، مسموح به مرة واحدة فقط في بداية سلسلة التنسيق أو نهايتها). لاحظ أنه S يطبع + للقيم الموجبة ولكنه MI يطبع مسافة.

  • PR

    مسموح به فقط في نهاية سلسلة التنسيق؛ يحدد أنه سيتم التفاف سلسلة النتائج بأقواس زاوية إذا كانت قيمة الإدخال سالبة. ('<1>').

إذا كان الجزء المتكامل أو العشري في numExpr يتطلب أرقاما أكثر من الجزء المقابل المسموح به في fmt، فترجع الدالة كلا الجزأين في fmt مع 0 ويستبدل 9 ب # (على سبيل المثال '$###.##').

إذا تم fmt تكوين Databricks SQL بشكل غير صحيح، فترجع رسالة خطأ.

هذه الدالة هي اسم مستعار to_varchar.

الأمثلة

> SELECT to_char(454, '999');
 454

> SELECT to_char(454, '000.00');
 454.00

> SELECT to_char(12454, '99,999');
 12,454

> SELECT to_char(78.12, '$99.99');
 $78.12

> SELECT to_char(-12454.8, '99,999.9S');
 12,454.8-

> SELECT to_char(12454.8, '99,999.9S');
 12,454.8+

> SELECT '>' || to_char(123, '00000.00') || '<';
 >00123.00<

> SELECT '>' || to_char(123, '99999.99') || '<';
 >  123.00<

> SELECT to_char(1.1, '99');
 ##

> SELECT to_char(111.11, '99.9');
 ##.#

> SELECT to_char(111.11, '$99.9');
 $##.#

> SELECT to_char(date'2016-04-08', 'y');
 2016

> SELECT to_char(x'537061726b2053514c', 'base64');
 U3BhcmsgU1FM

> SELECT to_char(x'537061726b2053514c', 'hex');
 537061726B2053514C

> SELECT to_char(encode('abc', 'utf-8'), 'utf-8');
 abc

> SELECT to_char(111, 'wrong');
 Error: 'wrong' is a malformed format.