Megosztás a következőn keresztül:


A to_varchar függvény

A következőkre vonatkozik:jelölje be az igennel jelölt jelölőnégyzetet Databricks SQL jelölje be az igennel jelölt jelölőnégyzetet Databricks Runtime 11.3 LTS és újabb

expr A formázást STRINGhasználó öntött fmt értéket adja vissza.

A Databricks Runtime 14.0-s és korábbi to_varchar verzióiban a numerikus típusok támogatottak expr .

A Databricks SQL-ben és a Databricks Runtime 14.1 és újabb verzióiban to_varchar is támogatja a típusokat expr, DATE, és TIMESTAMP

to_varchar a "to_char" szinonimája.

Szintaxis

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

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

Argumentumok

  • expr: Kifejezés, amely numerikus, datetime, STRING vagy BINARY típusú.
  • numericFormat: Egy STRING literál, amely a számtípusú expr formázott kimenetét adja meg.
  • datetimeFormat: Egy STRING literál, amely megadja a dátum-idő típusú expr formázott kimenetét.
  • stringFormat: Egy STRING literál, amely a expr típusú BINARY formázott kimenetét adja meg.

Visszaküldések

A STRING formázási művelet eredményét jelképező érték.

datetmeFormata Datetime-mintákban megadott mintákat tartalmazhat.

stringFormat a következők egyike lehet (nem érzékeny a kis- és nagybetűk különbségére):

  • "base64"

    Egy 64 bites alapkódolású karakterlánc.

  • "hexa"

    Hexadecimális formátumú karaktersorozat.

  • "utf-8"

    A bemeneti bináris kód UTF-8 sztringre van dekódolva.

numericFormat a következő elemeket tartalmazhatja (kis- és nagybetű érzékenység nélkül):

  • 0 vagy 9

    0 és 9 közötti várható számjegyet ad meg. A formátumsztringben 0 és 9 közötti értékeket tartalmazó számjegyek sorozata megegyezik a bemeneti érték számjegyeinek sorozatával. Ez a formátumsztringgel megegyező hosszúságú eredménysztringet hoz létre. Az eredménykarakterlánc nullákkal lesz kitöltve balról, ha a 0/9 sorozat több számjegyből áll, mint a decimális érték egyező része, 0-val kezdődik, és a tizedesvessző előtt van. Ellenkező esetben szóközökkel van kitöltve.

  • . vagy D

    A tizedesvessző pozícióját adja meg (nem kötelező, csak egyszer engedélyezett).

  • , vagy G

    A csoportosítási (ezres) elválasztó (,) pozícióját adja meg. Az egyes csoportosítási elválasztóktól balra és jobbra 0 vagy 9 karakternek kell lennie.

  • $

    A pénzjel $ helyét adja meg. Ez a karakter csak egyszer adható meg.

  • S vagy MI

    Egy "-" vagy "+" jel pozícióját adja meg (nem kötelező, csak egyszer engedélyezett a formátumsztring elején vagy végén). Vegye figyelembe, hogy S pozitív értékek esetén +-et nyomtat, de MI esetén egy szóközt nyomtat.

  • PR

    Csak a formátumsztring végén engedélyezett; azt adja meg, hogy az eredménysztring szögletes zárójelekkel lesz burkolva, ha a bemeneti érték negatív. ('<1>').

Ha numExpr több számjegyet igényel, mint amennyit fmt engedélyez, a függvény visszaadja a fmt-t, miközben 0 és 9 helyére # kerül (például '$###.##').

Ha fmt hibás a Databricks SQL, hibát ad vissza.

Ez a függvény a to_varchar alíászának felel meg.

Példák

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

> SELECT to_varchar(454, '000.00');
 1.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.