Articles

SqlHints.com

Posted on

FORMAT est l’une des nouvelles fonctions String intégrées introduites dans le cadre de Sql Server 2012. Elle renvoie la valeur formatée dans le format spécifié en utilisant la valeur du paramètre optionnel culture. Il ne s’agit pas d’une fonction native de Sql Server, mais plutôt d’une fonction dépendante de .NET CLR.

SYNTAX : FORMAT ( valeur, format )

.

Paramètre Description
Valeur : Valeur à mettre en forme
format: Ce paramètre spécifie le format dans lequel la vlaue sera mise en forme.
culture: Ce paramètre est facultatif, il spécifie la culture dans laquelle la valeur est formatée. S’il n’est pas spécifié alors la langue de la session actuelle est utilisée.

RETOURS : Le type de valeur de retour est nvarchar.

Exemple 1 : FORMAT DATE avec Culture

DECLARE @date DATETIME = GETDATE() SELECT @date AS 'GETDATE()', FORMAT( @date, 'd', 'en-US') AS 'DATE IN US Culture', FORMAT( @date, 'd', 'en-IN') AS 'DATE IN INDIAN Culture', FORMAT( @date, 'd', 'de-DE') AS 'DATE IN GERMAN Culture'

Résultat:

FORMAT_FUNCTION_IN_SQL_SERVER_2012_1

Exemple 2 : FORMAT CURRENCY avec Culture

DECLARE @Price INT = 40SELECT FORMAT(@Price,'c','en-US') AS 'CURRENCY IN US Culture', FORMAT(@Price,'c','de-DE') AS 'CURRENCY IN GERMAN Culture'

Résultat :

FORMAT_FUNCTION_IN_SQL_SERVER_2012_2

Exemple 3 : FORMAT CURRENCY

DECLARE @Price DECIMAL(5,3) = 40.356SELECT FORMAT( @Price, 'C') AS 'Default', FORMAT( @Price, 'C0') AS 'With 0 Decimal', FORMAT( @Price, 'C1') AS 'With 1 Decimal', FORMAT( @Price, 'C2') AS 'With 2 Decimal', FORMAT( @Price, 'C3') AS 'With 3 Decimal'

Résultat :
FORMAT_FUNCTION_IN_SQL_SERVER_2012_3

Exemple 4 : FORMATER LE POURCENTAGE

DECLARE @Percentage float = 0.35674SELECT FORMAT( @Percentage, 'P') AS '% Default', FORMAT( @Percentage, 'P0') AS '% With 0 Decimal', FORMAT( @Percentage, 'P1') AS '% with 1 Decimal', FORMAT( @Percentage, 'P2') AS '% with 2 Decimal', FORMAT( @Percentage, 'P3') AS '% with 3 Decimal'

Résultat :
FORMAT_FUNCTION_IN_SQL_SERVER_2012_4

Exemple 5 : FORMAT NUMBER

DECLARE @Number AS DECIMAL(10,2) = 454545.389SELECT FORMAT( @Number, 'N','en-US') AS 'Number Format in US', FORMAT( @Number, 'N','en-IN') AS 'Number Format in INDIA'SELECT FORMAT( @Number, '#.0') AS 'With 1 Decimal', FORMAT( @Number, '#.00') AS 'With 2 Decimal', FORMAT( @Number, '#,##.00') AS 'With Comma and 2 Decimal', FORMAT( @Number, '##.00') AS 'Without Comma and 2 Decimal'

Résultat :
FORMAT_FUNCTION_IN_SQL_SERVER_2012_5

Exemple 6 : FORMATS DE DATE PERSONNALISÉS

DECLARE @date DATETIME = GETDATE() SELECT @date AS 'GETDATE()', FORMAT ( @date, 'dd/MM/yyyy') AS 'dd/MM/yyyy', FORMAT ( @date, 'MM/dd/yyyy') AS 'MM/dd/yyyy', FORMAT ( @date, 'yyyy/MM/dd') AS 'yyyy/MM/dd' SELECT FORMAT( @date,'dddd, MMMM dd, yyyy hh:mm:ss tt','en-US') AS 'US', FORMAT( @date,'dddd, MMMM dd, yyyy hh:mm:ss tt','hi-IN') AS 'Hindi', FORMAT( @date,'dddd, MMMM dd, yyyy hh:mm:ss tt','kn-IN') AS 'Kannada'

Résultat :

FORMAT_FUNCTION_IN_SQL_SERVER_2012_6

DECLARE @date DATETIME = GETDATE()SELECT FORMAT ( @date, 'dd', 'en-US' ) AS 'US',FORMAT ( @date, 'ddd', 'en-US' ) AS 'US',FORMAT ( @date, 'dddd', 'en-US' ) AS 'US',FORMAT ( @date, 'dddd', 'kn-IN' ) AS 'Kannada',FORMAT ( @date, 'dddd', 'hi-IN' ) AS 'Hindi'SELECT FORMAT ( @date, 'M', 'en-US' ) AS 'US',FORMAT ( @date, 'MM', 'en-US' ) AS 'US',FORMAT ( @date, 'MMM', 'en-US' ) AS 'US',FORMAT ( @date, 'MMMM', 'en-US' ) AS 'US',FORMAT ( @date, 'MMMM', 'kn-IN' ) AS 'Kannada',FORMAT ( @date, 'MMMM', 'hi-IN' ) AS 'Hindi'SELECT FORMAT ( @date, 'y', 'en-US' ) AS 'US', FORMAT ( @date, 'y', 'kn-IN' ) AS 'Kannada', FORMAT ( @date, 'y', 'hi-IN' ) AS 'Hindi', FORMAT ( @date, 'yy', 'en-US' ) AS 'US', FORMAT ( @date, 'yyy', 'en-US' ) AS 'US'

Résultat :

FORMAT_FUNCTION_IN_SQL_SERVER_2012_7

Exemple 7 : Culture invalide

DECLARE @date DATETIME = GETDATE()SELECT FORMAT(@date,'d','Test') AS 'Invalid Culture'

Résultat:
Msg 9818, Niveau 16, État 1, Ligne 2
Le paramètre de culture ‘Test’ fourni dans l’appel de fonction n’est pas pris en charge.

Vous pouvez lire ci-dessous les nouvelles fonctions intégrées introduites dans Sql Server 2012 :

.

.

Division

Laquelle ?

Nouvelles fonctions intégrées introduites dans Sql Server
FONCTIONS DE CONVERSION
PARSE TRY_PARSE
TRY_CONVERT
STRING FUNCTIONS
CONCAT FORMAT
FONCTIONSLOGIQUES
CHOOSE IIF
FONCTIONS DE DATE ET D’HEURE
EOMONTH
DATEFROMPARTS DATETIMEFROMPARTS
SMALLDATETIMEFROMPARTS DATETIME2FROMPARTS
TIMEFROMPARTS DATETIMEOFFSETFROMPARTS

Laisser un commentaire

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