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


A to_char 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

A expr használatával formázott STRING típussá alakított fmt értéket ad vissza.

A Databricks Runtime 14.0 és korábbi verziókban a numerikus típusok to_char támogatását expr támogatja.

A Databricks SQL-ben és a Databricks Runtime 14.1 és újabb verzióiban a to_char is támogatja a expr típusok DATE, TIMESTAMP, és BINARY formátumát.

to_char a szinonimája a to_varchar-nak.

Szintaxis

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

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

Argumentumok

  • expr: Numerikus, idő- vagy dátumtípusú STRING, vagy BINARY.
  • numericFormat: Egy STRING literál, amely meghatározza a expr numerikus típushoz tartozó formázott adatot.
  • datetimeFormat: Egy STRING literál, amely megadja a expr formázott kimenetét datetime típus esetén.
  • 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űkre):

  • "base64"

    Egy Base64 karakterlánc.

  • "hexa"

    Hexadecimális formátumú karakterlánc.

  • "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 balról nullákkal van feltöltve, ha a 0/9 sorozat több számjegyből áll, mint a tizedes é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énznemjel 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 a +-et nyomtatja ki, de a MI egy üres karaktert 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 az egész vagy a tizedes részben numExpr több számjegyre van szükség, mint amennyit a megfelelő rész fmt megenged, akkor a függvény visszaadja mindkét részt a fmt-ben, ahol 0 és 9 helyébe # lép (pl. '$###.##').

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

Ez a függvény a to_varchar aliasa.

Példák

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

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