to_varchar fungsi

Berlaku untuk:centang ditandai ya Databricks SQL centang ditandai ya Databricks Runtime 11.3 LTS ke atas

expr Mengembalikan cast ke STRING menggunakan pemformatan fmt.

Di Databricks Runtime 14.0 dan yang lebih lama to_varchar mendukung expr jenis numerik.

Dalam Databricks SQL dan Databricks Runtime 14.1 ke atas to_varchar juga mendukung expr jenis DATE, TIMESTAMP, dan BINARY

to_varchar adalah sinonim untuk to_char.

Sintaks

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

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

Argumen

  • expr: Ekspresi jenis numerik, tanggalwaktu, STRING, atau BINARY.
  • numericFormat: Harfiah STRING , menentukan output yang diformat untuk expr jenis numerik.
  • datetimeFormat: Harfiah STRING , menentukan output yang diformat untuk expr jenis tanggalwaktu.
  • stringFormat: Harfiah STRING , menentukan output yang diformat untuk expr jenis BINARY.

Mengembalikan

Mewakili STRING hasil operasi pemformatan.

datetmeFormat dapat berisi pola yang ditentukan dalam pola Tanggalwaktu.

stringFormat dapat berupa salah satu hal berikut (tidak peka huruf besar/kecil):

  • 'base64'

    String dasar 64.

  • 'hex'

    String dalam format heksadesimal.

  • 'utf-8'

    Biner input didekodekan ke string UTF-8.

numericFormat dapat berisi elemen berikut (tidak peka huruf besar/kecil):

  • 0 atau 9

    Menentukan digit yang diharapkan antara 0 dan 9. Urutan digit dengan nilai antara 0 dan 9 dalam string format cocok dengan urutan digit dalam nilai input. Ini menghasilkan string hasil dengan panjang yang sama dengan urutan yang sesuai dengan string format. String hasil diisi kiri dengan nol jika urutan 0/9 terdiri lebih banyak digit daripada bagian yang cocok dari nilai desimal, dimulai dengan 0, dan sebelum titik desimal. Jika tidak, itu diisi dengan spasi.

  • . atau D

    Menentukan posisi titik desimal (opsional, hanya diperbolehkan sekali).

  • , atau G

    Menentukan posisi pemisah pengelompokan (ribuan) (,). Harus ada 0 atau 9 di sebelah kiri dan kanan setiap pemisah pengelompokan.

  • $

    Menentukan lokasi tanda mata uang $. Karakter ini hanya dapat ditentukan sekali.

  • S atau MI

    Menentukan posisi tanda '-' atau '+' (opsional, hanya diperbolehkan sekali di awal atau akhir string format). Perhatikan bahwa S mencetak + nilai positif tetapi MI mencetak spasi.

  • PR

    Hanya diizinkan di akhir string format; menentukan bahwa string hasil akan dibungkus oleh tanda kurung sudut jika nilai input negatif. ('<1>').

Jika numExpr memerlukan lebih banyak digit daripada fmt yang diizinkan, fungsi mengembalikan fmt dengan 0 dan 9 diganti dengan # (misalnya '$###.##').

Jika fmt Databricks SQL salah format mengembalikan kesalahan.

Fungsi ini adalah alias untuk to_varchar.

Contoh

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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