STR (Transact-SQL)
Renvoie des données de type caractère converties à partir de données numériques.
Conventions de la syntaxe de Transact-SQL
Syntaxe
STR ( float_expression [ , length [ , decimal ] ] )
Arguments
- float_expression
Expression de type de données numérique approché (float) avec une virgule décimale.
- length
Longueur totale. Inclut la virgule décimale, le signe, les chiffres et les espaces. La valeur par défaut est 10.
- decimal
Nombre de décimales après la virgule. decimal doit être inférieur ou égal à 16. Si decimal est supérieur à 16, le résultat est tronqué à la seizième position à droite de la virgule décimale.
Notes
Si elles sont spécifiées, les valeurs des paramètres length et decimal dans STR doivent être positives. Le nombre est arrondi à un entier par défaut ou si le nombre de décimales spécifié est 0. La longueur spécifiée doit être supérieure ou égale à la partie du nombre située à gauche de la virgule, plus le signe (le cas échéant). Une expression float_expression courte est justifiée à droite dans la longueur spécifiée, et une expression float_expression longue est tronquée après le nombre spécifié de décimales. Par exemple, STR(12**,10) donne 12 ; ce résultat est justifié à droite dans l'ensemble de résultats. Par contre, STR(1223,**2) tronque l'ensemble de résultats à **. Il est possible d'imbriquer des fonctions de chaîne.
Remarque : |
---|
Pour convertir des données Unicode, utilisez STR dans une fonction de conversion CONVERT ou CAST. |
Types renvoyés
char
Exemples
L'exemple suivant convertit une expression constituée de cinq chiffres et d'une virgule décimale en chaîne de caractères à six positions. La partie fractionnaire du nombre est arrondie à une décimale.
SELECT STR(123.45, 6, 1)
GO
Voici l'ensemble des résultats.
------
123.5
(1 row(s) affected)
Lorsque l'expression a une longueur supérieure à la longueur spécifiée, la chaîne renvoie **
pour la longueur spécifiée.
SELECT STR(123.45, 2, 2)
GO
Voici l'ensemble des résultats.
--
(1 row(s) affected)
Même lorsque des données numériques sont imbriquées dans STR
, le résultat correspond à des données de type caractère avec le format spécifié.
SELECT STR (FLOOR (123.45), 8, 3)
GO
Voici l'ensemble des résultats.
--------
123.000
(1 row(s) affected)
Voir aussi
Référence
Fonctions de chaîne (Transact-SQL)