Fonction to_varchar

S’applique à :coche marquée oui Databricks SQL oui coché Databricks Runtime 11.3 LTS et versions ultérieures

Retourne expr casté en STRING avec la mise en forme fmt.

Dans Databricks Runtime 14.0 et les versions antérieures, to_varchar prend en charge expr de types numériques.

Dans Databricks SQL et Databricks Runtime version 14.1 et ultérieures, to_varchar prend également en charge expr de type DATE, TIMESTAMP et BINARY

to_varchar est un synonyme de to_char.

Syntaxe

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

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

Arguments

  • expr : une expression de type numérique, dateHeure, STRINGou BINARY.
  • numericFormat : un STRING littéral spécifiant la sortie mise en forme pour expr de type numérique.
  • datetimeFormat : un STRING littéral spécifiant la sortie mise en forme pour expr de type dateHeure.
  • stringFormat : un STRING littéral spécifiant la sortie mise en forme pour expr de type BINARY.

Retours

STRING représentant le résultat de l’opération de mise en forme.

datetmeFormat peut contenir les modèles spécifiés dans modèles DateHeure.

stringFormat peut être l’une des chaînes suivantes qui ne respectent pas la casse :

  • ‘base64’

    Une chaîne de base 64.

  • ‘hex’

    Une chaîne au format hexadécimal.

  • ‘utf-8’

    Le binaire d’entrée est décodé en chaîne UTF-8.

numericFormat peut contenir les éléments suivants (ne respectant pas la casse) :

  • 0 ou 9

    Spécifie un chiffre attendu entre 0 et 9. Une séquence de chiffres avec des valeurs comprises entre 0 et 9 dans la chaîne de format correspond à une séquence de chiffres dans la valeur d’entrée. Cela génère une chaîne de résultat de la même longueur que la séquence correspondante de la chaîne de format. La chaîne de résultat est remplie à gauche de zéros si la séquence 0/9 comprend plus de chiffres que la partie correspondante de la valeur décimale, commence par 0 et se trouve avant le signe décimal. Sinon, elle est remplie d’espaces.

  • . ou D

    Spécifie la position du signe décimal (facultatif, autorisé une seule fois).

  • , ou G

    Spécifie la position du séparateur de regroupement (milliers). Il doit y avoir un 0 ou un 9 à gauche et à droite de chaque séparateur de regroupement.

  • $

    Spécifie l’emplacement du signe monétaire $. Ce caractère ne peut être spécifié qu’une seule fois.

  • S ou MI

    Spécifie la position d’un signe « - » ou « + » (facultatif, autorisé une seule fois au début ou à la fin de la chaîne de format). Notez que S imprime + pour les valeurs positives, mais que MI imprime un espace.

  • PR

    Autorisé uniquement à la fin de la chaîne de format ; spécifie que la chaîne de résultat est incluse dans des crochets angulaires si la valeur d’entrée est négative. (‘<1>’).

Si numExpr nécessite plus de chiffres que ne le permet fmt, la fonction retourne fmt avec 0 et 9 remplacés par # (par exemple, '$###.##').

Si fmt est malformé, Databricks SQL retourne une erreur.

Cette fonction est un alias pour to_varchar.

Exemples

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