Accéder au contenu principal

FORMAT() FONCTION SQL

FORMAT() est l'une des fonctions les plus utilisées en SQL. Découvrez ses principales applications dans ce tutoriel.
Actualisé 14 nov. 2024  · 3 min de lecture

Qu'est-ce que la FORMAT() fonction ?

FORMAT() transforme des nombres ou des dates en texte, avec des règles d'affichage.

Quand utiliser FORMAT()

FORMAT() est très utile pour afficher des dates, des devises et des valeurs numériques dans un format spécifique. 

FORMAT() syntax

FORMAT(value, format[, culture])

Paramètres

Qu'est-ce que c'est ?

Value

Un paramètre obligatoire faisant référence à la colonne à formater 

Format

Paramètre obligatoire spécifiant le modèle de format de la valeur. Il doit contenir une chaîne de format .NET. Nous illustrerons les différents formats autorisés dans les exemples ci-dessous

Culture

Un paramètre facultatif spécifiant le formatage de la date et de l'heure en fonction des paramètres locaux.

FORMAT() exemples

Exemple 1 : Formatage des variables numériques

SELECT
   FORMAT(0112223333, ‘##-###-####') -- replace format with what is shown in the table below.
 

phone_number

0

11-222-3333

Exemple 2 : Formatage de l'heure de la date

Nous pouvons formater une variable au format datetime dans différents formats.

DECLARE @d DATETIME = CAST('2023-02-01 04:05:06' AS DATETIME);  

SELECT
   FORMAT(@d, format) -- replace format with what is shown in the table below.

Format

Demande de renseignements

Exemple de date formatée pour le 1er février 2023 04:05:06 AM

d

FORMAT(@d, ‘d')

2/1/2023

D

FORMAT(@d, D)

Mercredi 1er février 2023

f

FORMAT(@d, ‘f')

Mercredi 1 février 2023 4h05

F

FORMAT(@d, ‘F')

Mercredi 1 février 2023 4:05:06 AM

g

FORMAT(@d, ‘g')

10/8/2022 6:01 AM

G

FORMAT(@d, ‘G')

10/8/2022 6:01:06 AM

O

FORMAT(@d, ‘O')

2022-10-08T06:01:06.117Z

r

FORMAT(@d, ‘r')

Wed, 01 Feb 2023 04:05:06 GMT

R

FORMAT(@d, ‘R')

Wed, 01 Feb 2023 04:05:06 GMT

s

FORMAT(@d, ‘s')

2023-02-01T04:05:06

u

FORMAT(@d, ‘u')

2023-02-01 04:05:06Z

U

FORMAT(@d, ‘U')

Mercredi 1 février 2023 4:05:06 AM

t

FORMAT(@d, ‘t')

4:05 AM

T

FORMAT(@d, ‘T')

4:05:06 AM

Y

FORMAT(@d, ‘Y')

Février 2023

MM_dd_yyyy

FORMAT(@d, ‘MM_dd_yyyy')

02_01_2023

MMM-jj-aa

FORMAT(@d,'MMM-dd-yy')

Fév 01 23

yyyy-dd-MM

FORMAT(@d,'yyyy-dd-MM')

2023-01-02

aaaa-dd-MM hh.mm

FORMAT(@d,'yyyy-dd-MM hh.mm')

2023-01-02 04.05

aaaa-dd-MM hh.mm.ss

FORMAT(@d,'yyyy-dd-MM hh.mm.ss')

2023-01-02 04.05.06

aaaa-dd-MM hh.mm.ss tt

FORMAT(@d,'yyyy-dd-MM hh.mm.ss tt')

2023-01-02 04.05.06 AM

Exemple 3 : Formatage de la date en fonction de la culture

Le paramètre culture permet de formater les dates dans différentes langues. 

DECLARE @d DATE = CAST('2023-02-01' AS DATE);  

SELECT
   FORMAT(@d, format, culture) -- replace format with what is shown in the table below.

Culture

Demande de renseignements

Exemple de date formatée pour le 1er février 2023 

Anglais américain (en-US)

FORMAT(@d, 'd', 'en-US') 

2/1/2023

FORMAT(@d, 'f', 'en-US') 

Mercredi 1 février 2023 12h00

Grande-Bretagne Anglais (en-gb)

FORMAT(@d, 'd', 'en-gb')

01/02/2023

FORMAT(@d, 'f', 'en-gb')

01 février 2023 00:00

Allemand (de-de)

FORMAT(@d, 'd', 'de-de') 

01.02.2023

FORMAT(@d, 'f', 'de-de') 

Mittwoch, 1. Februar 2023 00:00

Chinois (zh-cn)

FORMAT(@d, 'd', 'zh-cn')

2023/2/1

FORMAT(@d, 'f', 'zh-cn')

2023年2月1日 0:00

Indien (hi-in)

FORMAT(@d, 'd', ‘hi-in')

01-02-0203

FORMAT(@d, 'f', ‘hi-in')

01 फरवरी 2023 00:00

Russe (ru-ru)

FORMAT(@d, 'd', ru-ru') 

01-02-2023

FORMAT(@d, 'f', ru-ru') 

1 февраля 2023 г. 0:00

Espagne (gl-es)

FORMAT(@d, 'd', 'gl-es')

01/02/2023

FORMAT(@d, 'f', 'gl-es')

mércores 01 febreiro 2023 00:00

Exemple 4 : Formatage de la monnaie

Nous pouvons également formater les valeurs numériques en devises.

SELECT
   FORMAT(amount, 'c', culture) -- replace format with what is shown in the table below.

Culture

Demande de renseignements

Exemple de devise formatée

Anglais américain (en-US)

SELECT 

   FORMAT(5.5, 'c', 'en-US') 

$5.5

Grande-Bretagne Anglais (en-gb)

SELECT 

   FORMAT(@d, 'c', 'en-gb')

£5.5

Allemand (de-de)

SELECT 

   FORMAT(@d, 'c', 'de-de') 

5,50 €

Chinois (zh-cn)

SELECT 

   FORMAT(@d, 'c', 'zh-cn')

¥5.50

Indien (hi-in)

SELECT 

   FORMAT(@d, 'c', ‘hi-in')

₹5.50

Russe (ru-ru)

SELECT 

   FORMAT(@d, 'c', ru-ru') 

5,50 ₽

Espagne (gl-es)

SELECT 

   FORMAT(@d, 'c', 'gl-es')

€5,50

Exigences techniques

FORMAT() fonctionne avec SQL Server (à partir de 2012), Azure SQL Database. FORMAT() fonctionne également avec PostgreSQL, mais se comporte différemment. Vous pouvez en apprendre davantage à ce sujet dans ce cours.

Voir aussi

En savoir plus sur SQL

Obtenez une certification pour le poste de Data Engineer de vos rêves

Nos programmes de certification vous aident à vous démarquer et à prouver aux employeurs potentiels que vos compétences sont adaptées à l'emploi.

Obtenez Votre Certification
Timeline mobile.png
Sujets

Cours SQL populaires

Certification disponible

cours

Introduction à SQL

2 hr
886.7K
Apprenez à créer et à interroger des bases de données relationnelles à l'aide de SQL en seulement deux heures.
Afficher les détailsRight Arrow
Commencer Le Cours
Voir plusRight Arrow