à partir de SQL Server 2012, vous pouvez formater les types numériques à l’aide de la fonction T-SQLFORMAT(). Cette fonction accepte trois arguments; le nombre, le format et un argument « culture” facultatif.

Le format est fourni sous forme de chaîne de format. Une chaîne de format définit comment la sortie doit être formatée.

Voici un exemple:

SELECT FORMAT(1, 'N');

Résultat:

1.00

Dans ce cas, j’ai utilisé N comme deuxième argument., Il s’agit du spécificateur de format numérique standard pour Number. Ce spécificateur de format particulier (N) entraîne le formatage de la sortie avec des chiffres intégraux et décimaux, des séparateurs de groupe et un séparateur décimal avec un signe négatif facultatif. Cet argument est insensible à la casse, donc N ou n est correct.,

Décimales

Voici un autre exemple, cette fois à l’aide de N1 pour spécifier que nous ne veulent qu’une seule décimale:

SELECT FORMAT(1, 'N1');

Résultat:

1.0

Mais vous pouvez aussi augmenter le nombre de décimales trop:

SELECT FORMAT(1, 'N7');

Résultat:

1.0000000

Dans ces exemples, la balise 1 et 7 sont connus comme les spécificateurs de précision.

les spécificateurs de Précision sont facultatifs., Ils peuvent être une valeur de 0 à 99, qui spécifie la précision du résultat. Son fonctionnement dépend du spécificateur de format utilisé. Pour certains spécificateurs de format, il spécifiera le nombre total de chiffres dans le résultat, pour d’autres, il spécifiera le nombre de décimales. Dans d’autres cas, il sera complètement ignoré. Consultez la liste complète des spécificateurs de Format numérique Standard pour voir comment les spécificateurs de précision affectent la sortie de chaque spécificateur de format.

pourcentage

Les exemples suivants utilisent l’argumentP, qui formate le nombre sous forme de pourcentage., Il multiplie le nombre par 100, puis ajoute un signe de pourcentage localisé.

SELECT FORMAT(1, 'P') AS 'Example 1', FORMAT(.375, 'P') AS 'Example 2', FORMAT(.0375, 'P', 'tr-tr') AS 'Example 3';

Résultat:

Example 1 Example 2 Example 3--------- --------- ---------100.00 % 37.50 % %3,75 

Note que « l’Exemple 3” comprend un troisième argument, qui spécifie la culture pour être utilisé dans la sortie. Dans ce cas, j’utilise tr-tr pour le turc. Il en résulte que le signe pour cent est ajouté au nombre (au lieu d’être ajouté, comme les autres). Il en résulte également une virgule utilisée comme séparateur décimal.

Si vous ne fournissez pas l’argument « culture”, la langue de la session en cours est utilisée.,

comme vous pouvez l’imaginer, vous pouvez obtenir des résultats très différents en fonction de votre langue actuelle ou de la valeur de tout argument « culture”. Voir comment les paramètres de langue peuvent affecter vos résultats FORMAT() pour plus d’exemples.

Monnaie

Vous pouvez utiliser C pour retourner une valeur monétaire.

SELECT FORMAT(1, 'C');

Résultat:

$1.00

Vous pouvez aussi ajouter dans les paramètres régionaux d’un troisième paramètre.,

Here are some examples:

SELECT FORMAT(1, 'C', 'fr-FR') AS France, FORMAT(1, 'C', 'th-TH') AS Thailand, FORMAT(1, 'C', 'ja-JP') AS Japan;

Result:

France Thailand Japan------ -------- -----1,00 € ฿1.00 ¥1 

Exponential (Scientific)

You can use E to specify exponential notation.

SELECT FORMAT(1234.56789, 'E');

Result:

1.234568E+003 

Hexadecimal

You can even format a number as hexadecimal., Pour ce faire, utilisez la balise X argument:

SELECT FORMAT(10, 'X');

Résultat:

A

Voici un autre exemple, cette fois avec un plus grand nombre:

SELECT FORMAT(7145, 'X');

Résultat:

1BE9

Format Personnalisé

Vous pouvez également créer votre propre format personnalisé à l’aide d’un custom chaîne de format numérique. Il s’agit d’une série de spécificateurs de format numérique personnalisés qui fournissent un modèle pour votre numéro.,

C’est plus facile à expliquer avec un exemple:

SELECT FORMAT(123456789, '##-###-####');

Résultat:

12-345-6789

Dans ce cas, j’utilise les chiffres de l’espace réservé (#). L’espace réservé numérique me permet de spécifier un format pour le numéro, en utilisant le symbole # comme espace réservé pour chaque numéro.

des Virgules

Autre exemple:

SELECT FORMAT(123456789, '#,#');

Résultat:

123,456,789

Zéros

un Autre numérique personnalisé spécificateur de format est de zéro (0)., Vous pouvez l’utiliser pour ajouter un certain nombre de zéros:

SELECT FORMAT(7, '000') AS 'Example 1', FORMAT(123, '0000') AS 'Example 2', FORMAT(123, '00000') AS 'Example 3';

Résultat:

Example 1 Example 2 Example 3--------- --------- ---------007 0123 00123 

Vous pouvez également l’utiliser pour supprimer les zéros:

SELECT FORMAT(0123, '000') AS 'Example 1', FORMAT(0123, '0000') AS 'Example 2', FORMAT(000123, '00000') AS 'Example 3';

Résultat:

Example 1 Example 2 Example 3--------- --------- ---------123 0123 00123 

Numérique Spécificateurs de Format de Référence

Les articles suivants contiennent tous le numérique les spécificateurs de format, vous pouvez utiliser la balise FORMAT() fonction, avec T-SQL exemples.,

  • chaînes de Format numérique Standard
  • chaînes de Format numérique personnalisées

Ce sont les mêmes spécificateurs de format qui sont pris en charge par le.net Framework (la fonction FORMAT() repose sur le. Net Framework).

Date et heure

la fonctionFORMAT() vous permet également de formater la date et l’heure.

la Date et l’heure a un ensemble distinct de spécificateurs de format:

  • Norme de Format de Date et Heure Chaînes de caractères
  • personnaliser le Format de Date et Heure Chaînes de caractères

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *