Aracılığıyla paylaş


to_char işlevi

Şunlar için geçerlidir: onay işareti evet olarak işaretlenmiş Databricks SQL onay işareti evet olarak işaretlenmiş Databricks Runtime 11.3 LTS ve üzeri

biçimlendirmesini fmtkullanarak öğesine dönüştürmeyi STRING döndürürexpr.

Databricks Runtime 14.0 ve önceki to_char sürümlerde sayısal türleri destekler expr .

Databricks SQL ve Databricks Runtime 14.1 ve üzeri to_char sürümleri de , TIMESTAMPve türlerini DATEdestekler exprBINARY

to_charto_varchar için bir eş anlamlıdır.

Söz dizimi

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

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

Bağımsız değişkenler

  • expr: Sayısal, tarih saat, STRINGveya BINARYtüründe bir ifade.
  • numericFormatSTRING: Sayısal türü için expr biçimlendirilmiş çıkışı belirten değişmez değer.
  • datetimeFormatSTRING: Tarih saat türü için expr biçimlendirilmiş çıkışı belirten değişmez değer.
  • stringFormatSTRING: türü BINARYiçin expr biçimlendirilmiş çıkışı belirten değişmez değer.

Döndürülenler

STRING Biçimlendirme işleminin sonucunu temsil eden bir.

datetmeFormat Datetime desenlerinde belirtilen desenleri içerebilir.

stringFormat aşağıdakilerden biri olabilir (büyük/küçük harfe duyarsız):

  • 'base64'

    Temel 64 dizesi.

  • 'onaltılık'

    Onaltılık biçimde bir dize.

  • 'utf-8'

    Giriş ikili dosyasının kodu UTF-8 dizesiyle çözüldü.

numericFormat aşağıdaki öğeleri içerebilir (büyük/küçük harfe duyarsız):

  • 0 veya 9

    0 ile 9 arasında beklenen bir basamak belirtir. Biçim dizesinde 0 ile 9 arasında değerler içeren basamak dizisi, giriş değerindeki bir basamak dizisiyle eşleşir. Bu, biçim dizesiyle karşılık gelen diziyle aynı uzunlukta bir sonuç dizesi oluşturur. 0/9 dizisi ondalık değerin eşleşen bölümünden daha fazla basamaktan oluşuyorsa, 0 ile başlıyorsa ve ondalık ayırıcıdan önceyse sonuç dizesi sıfırlarla sola doldurulur. Aksi takdirde boşluklarla doldurulur.

  • . veya D

    Ondalık noktasının konumunu belirtir (isteğe bağlı, yalnızca bir kez izin verilir).

  • , veya G

    Gruplandırma (binlik) ayırıcısının (,) konumunu belirtir. Her gruplandırma ayırıcısının solunda ve sağda 0 veya 9 olmalıdır.

  • $

    $ para birimi işaretinin konumunu belirtir. Bu karakter yalnızca bir kez belirtilebilir.

  • S veya MI

    '-' veya '+' işaretinin konumunu belirtir (isteğe bağlı, biçim dizesinin başında veya sonunda yalnızca bir kez izin verilir). S Pozitif değerler için yazdırılır + ancak MI bir boşluk yazdırılır.

  • PR

    Yalnızca biçim dizesinin sonunda izin verilir; , giriş değeri negatifse sonuç dizesinin açılı ayraçlar tarafından sarmalanacağını belirtir. ('<1>').

içindeki integral veya ondalık bölümünumExpr, içinde fmtizin verilenden daha fazla basamak gerektiriyorsa, işlevi ile 0 içindeki ve 9 ile değiştirilen # bölümleri fmt (örn'$###.##'. ) döndürür.

Hatalı biçimlendirilmişse fmt Databricks SQL bir hata döndürür.

Bu işlev, to_varchar için bir diğer addır.

Örnekler

> 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.