Fonction to_varchar
S’applique à : Databricks SQL
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,STRING
ouBINARY
.numericFormat
: unSTRING
littéral spécifiant la sortie mise en forme pourexpr
de type numérique.datetimeFormat
: unSTRING
littéral spécifiant la sortie mise en forme pourexpr
de type dateHeure.stringFormat
: unSTRING
littéral spécifiant la sortie mise en forme pourexpr
de typeBINARY
.
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
ou9
Spécifie un chiffre attendu entre 0 et 9. Une séquence de chiffres avec values comprise 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.
.
ouD
Spécifie la position du signe décimal (facultatif, autorisé une seule fois).
,
ouG
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
ouMI
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 un values positif, maisMI
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.