La fonction de chaîne de format SQL est utilisée pour mettre en forme la valeur spécifiée dans le format donné. La syntaxe de la fonction Format du serveur SQL est
Format(Value, Format, Culture)
- Valeur : Veuillez spécifier une expression valide du type de données de support.
- Format : Veuillez spécifier une chaîne de format .NET Framework valide.
- Culture : Ceci est un argument facultatif.
Exemple de format de date SQL
Dans cet exemple de fonction de chaîne, nous avons d’abord déclaré une variable Datetime et lui avons assigné GETDATE(). Ici, nous allons utiliser la fonction Format du serveur SQL pour retourner la date dans différents formats. Je vous suggère de vous référer à l’article Standard Date and Time Format Strings pour comprendre les formats de chaîne que nous avons utilisés dans cet exemple.
--Using FORMAT in SQL Server to Format DateDECLARE @Vardate DATETIME = GETDATE() SELECT FORMAT(@Vardate, 'd', 'en-US' ) AS 'Result 1', FORMAT(@Vardate, 'D', 'en-US' ) AS 'Result 2'SELECT FORMAT(@Vardate, 'f', 'en-US' ) AS 'Result 3', FORMAT(@Vardate, 'F', 'en-US' ) AS 'Result 4'SELECT FORMAT(@Vardate, 'g', 'en-US' ) AS 'Result 5', FORMAT(@Vardate, 'G', 'en-US' ) AS 'Result 6'SELECT FORMAT(@Vardate, 'm', 'en-US' ) AS 'Result 7', FORMAT(@Vardate, 'M', 'en-US' ) AS 'Result 8'SELECT FORMAT(@Vardate, 'O', 'en-US' ) AS 'Result 9', FORMAT(@Vardate, 'R', 'en-US' ) AS 'Result 10'SELECT FORMAT(@Vardate, 's', 'en-US' ) AS 'Result 11', FORMAT(@Vardate, 'S', 'en-US' ) AS 'Result 12'SELECT FORMAT(@Vardate, 't', 'en-US' ) AS 'Result 13', FORMAT(@Vardate, 'T', 'en-US' ) AS 'Result 14'SELECT FORMAT(@Vardate, 'u', 'en-US' ) AS 'Result 15', FORMAT(@Vardate, 'U', 'en-US' ) AS 'Result 16'SELECT FORMAT(@Vardate, 'Y', 'en-US' ) AS 'Result 17'
SQL Format Date using Culture
Dans cet exemple, nous allons utiliser la fonction format troisième argument culture. Par cela, vous pouvez afficher le nom du mois, ou le nom du jour dans la langue maternelle. Quelque chose comme, Nom du jour en japonais, chinois, hindi, russe, coréen, etc.
--Using FORMAT in SQL Server to Format Date (Culture) DECLARE @Vardate DATETIME = GETDATE() SELECT FORMAT(@Vardate, 'dd', 'en-US' ) AS 'Result 1', FORMAT(@Vardate, 'dddd', 'hi-IN' ) AS 'Result 2'SELECT FORMAT(@Vardate, 'd', 'de-DE' ) AS 'Result 3', FORMAT(@Vardate, 'dddd', 'ru-RU' ) AS 'Result 4'SELECT FORMAT(@Vardate, 'M', 'en-US' ) AS 'Result 5', FORMAT(@Vardate, 'MMMM', 'hi-IN' ) AS 'Result 6'SELECT FORMAT(@Vardate, 'MM', 'de-DE' ) AS 'Result 7', FORMAT(@Vardate, 'MMMM', 'ru-RU' ) AS 'Result 8'SELECT FORMAT(@Vardate, 'yy', 'en-US' ) AS 'Result 9', FORMAT(@Vardate, 'y', 'hi-IN' ) AS 'Result 10'SELECT FORMAT(@Vardate, 'yyyy', 'de-DE' ) AS 'Result 11', FORMAT(@Vardate, 'y', 'ru-RU' ) AS 'Result 12'
Format personnalisé de la date
Dans cette section de format sql de la date, nous allons définir des formats personnalisés de date et d’heure. Par cela, vous pouvez définir les formats personnalisés pour afficher la date et l’heure.
--Using FORMAT in SQL Server to Format Date in Custom FormatDECLARE @Vardate DATETIME = GETDATE() SELECT FORMAT(@Vardate, 'dd/mm/yyyy') AS 'date in dd/mm/yyyy Format' SELECT FORMAT(@Vardate, 'dd/mm/yy') AS 'date in dd/mm/yy Format' SELECT FORMAT(@Vardate, 'd/m/yy') AS 'date in d/m/yy Format' SELECT FORMAT(@Vardate, 'mm/dd/yyyy') AS 'date in mm/dd/yyyy Format' SELECT FORMAT(@Vardate, 'MMMM dddd yyyy hh:mm:ss:mmmm') AS 'date in MMMM dddd yyyy hh:mm:ss:mmmm Format' SELECT FORMAT(@Vardate, 'MMMM yyyy, dddd hh:mm:ss:mmmm') AS 'date in MMMM yyyy, dddd hh:mm:ss:mmmm Format'
Formater la devise à l’aide de la culture
Dans ce cas, nous allons formater les valeurs de la devise en fonction de la culture spécifiée.
--Using FORMAT in SQL Server to Format Currency CultureDECLARE @Sales INT = 3325 SELECT FORMAT(@Sales, 'c', 'en-US' ) AS 'USA Currency'SELECT FORMAT(@Sales, 'c', 'ru-RU' ) AS 'Russian Currency'SELECT FORMAT(@Sales, 'c', 'hi-IN' ) AS 'Indian Currency'SELECT FORMAT(@Sales, 'c', 'de-DE' ) AS 'Indian Currency'
Dans cet exemple de fonction Format, nous utilisons la fonction format pour formater la Devise. En utilisant cette approche, vous pouvez simplement afficher les symboles de la devise des pays avant l’argent ou la valeur.
--Using FORMAT in SQL Server to Format Decimal Values in CurrencyDECLARE @Sales DECIMAL(8, 4) = 3325.2569 SELECT FORMAT(@Sales, 'c' ) AS 'Result 1'SELECT FORMAT(@Sales, 'c0' ) AS 'Result 2'SELECT FORMAT(@Sales, 'c1' ) AS 'Result 3'SELECT FORMAT(@Sales, 'c2' ) AS 'Result 4'SELECT FORMAT(@Sales, 'c3' ) AS 'Result 5'SELECT FORMAT(@Sales, 'c4' ) AS 'Result 6'
Sql Server Format Currency Decimals
Dans cet exemple, nous allons formater les valeurs décimales en devise en utilisant cette fonction de format.
--Using FORMAT in SQL Server to Format Decimal Values in CurrencyDECLARE @Sales DECIMAL(8, 4) = 3325.2569 SELECT FORMAT(@Sales, 'c', 'en-US' ) AS 'Result 1'SELECT FORMAT(@Sales, 'c0', 'hi-IN' ) AS 'Result 2'SELECT FORMAT(@Sales, 'c1', 'ru-RU') AS 'Result 3'SELECT FORMAT(@Sales, 'c2', 'fr-FR' ) AS 'Result 4'SELECT FORMAT(@Sales, 'c3', 'de-DE') AS 'Result 5'SELECT FORMAT(@Sales, 'c4', 'zh-CN') AS 'Result 6'
Formater les nombres en utilisant la culture
Dans cet exemple, nous allons utiliser la fonction FORMAT pour formater les nombres. La culture spécifie les formats des nombres. Je veux dire que certains pays séparent les 100, et d’autres les 1000, etc.
--Using FORMAT in SQL Server to Format NumbersDECLARE @Number DECIMAL(11, 4) = 1453325.2569 SELECT FORMAT(@Number, 'N', 'en-US') AS 'Result 1'SELECT FORMAT(@Number, 'N', 'en-IN' ) AS 'Result 2'SELECT FORMAT(@Number, 'N', 'ru-RU') AS 'Result 3'SELECT FORMAT(@Number, 'N', 'fr-FR' ) AS 'Result 4'SELECT FORMAT(@Number, 'N', 'de-DE') AS 'Result 5'SELECT FORMAT(@Number, 'N', 'zh-CN') AS 'Result 6'
SQL Server Format Numbers
Dans cet exemple de fonction de formatage, nous allons formater des nombres. Pour formater les nombres, vous pouvez utiliser les symboles #. Vous pouvez également utiliser 0 pour spécifier le nombre de valeurs décimales.
--Using FORMAT in SQL Server to Format NumbersDECLARE @Number DECIMAL(10,4) = 945354.1295 DECLARE @Num INT = 945332534 SELECT FORMAT(@Number, '#') AS 'Result 1'SELECT FORMAT(@Number, '#,###' ) AS 'Result 2'SELECT FORMAT(@Number, '#.00') AS 'Result 3'SELECT FORMAT(@Number, '#,###.000' ) AS 'Result 4'SELECT FORMAT(@Num, '###-##-####') AS 'Result 5'
.