STR (Transact-SQL)

Renvoie des données de type caractère converties à partir de données numériques.

Icône Lien de rubriqueConventions 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.

ms189527.note(fr-fr,SQL.90).gifRemarque :
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)

Aide et Informations

Assistance sur SQL Server 2005