DataSunrise Obtient le Statut Compétence DevOps AWS dans AWS DevSecOps et Surveillance, Journalisation, Performance

Formats de Date et Heure pour SQL Server : Un Guide Complet

Formats de Date et Heure pour SQL Server : Un Guide Complet

Introduction

Gérer efficacement les dates et les heures est crucial pour de nombreuses applications de bases de données. Savoir comment formater les dates dans SQL Server permet d’assurer une cohérence des données, des affichages conviviaux et des rapports fiables. Ce guide couvre les formats essentiels de date et heure de SQL Server et montre comment traiter différents cas d’utilisation en utilisant la syntaxe SQL appropriée.

Qu’est-ce que SQL Server ?

Avant d’aborder les formats de date et heure, expliquons brièvement ce qu’est SQL Server. Microsoft SQL Server est un système de gestion de base de données relationnelle (SGBDR) qui stocke et récupère des données pour diverses applications. Il est largement utilisé dans les environnements d’entreprise en raison de sa scalabilité, de ses performances et de son intégration avec d’autres produits Microsoft.

Types de Données de Date et Heure dans SQL Server

SQL Server offre plusieurs types de données pour stocker les informations de date et d’heure. Explorons ces types et leurs formats.

TypeCatégorieCas d’utilisation
datetimeHéritageStockage général de date et heure, compatible avec les anciens systèmes
smalldatetimeHéritageStockage compact des dates et heures avec une précision à la minute
dateModerneStockage des seules informations de date, par exemple, anniversaires, dates d’anniversaire
timeModerneStockage des seules informations d’heure, par exemple, plannings quotidiens
datetime2ModerneStockage de date et d’heure à haute précision, plage de dates plus étendue
datetimeoffsetModerneStockage de date et d’heure avec prise en compte du fuseau horaire, pour les applications globales

Types Hérités de Date et Heure dans SQL Server

  1. Datetime peut stocker des dates et des heures du 1er janvier 1753 au 31 décembre 9999. Il offre une précision de 3,33 millisecondes.
  2. smalldatetime : Une plage temporelle plus courte, du 1er janvier 1900 au 6 juin 2079, avec une précision à la minute.

Types de Données Modernes (SQL Server 2008 et versions ultérieures)

  1. date : Stocke uniquement la partie date, allant du 1er janvier 0001 au 31 décembre 9999.
  2. time : Stocke uniquement la partie heure, avec une précision pouvant atteindre 100 nanosecondes.
  3. datetime2 : Une extension de datetime offrant une plage de dates plus étendue et une précision supérieure.
  4. datetimeoffset : Semblable à datetime2 mais incluant les informations de décalage du fuseau horaire.

Format de Sortie par Défaut

Par défaut, SQL Server affiche les valeurs de datetime au format : ‘YYYY-MM-DD HH:MI:SS.mmm’. Par exemple :

SELECT GETDATE() AS CurrentDateTime;

Cela pourrait retourner l’heure actuelle, par exemple : ‘202*-**-** 14:30:45.123’

Comment Formater une Date dans SQL Server

Comprendre comment manipuler et formater les valeurs de date en SQL est essentiel pour afficher des résultats lisibles et garantir un filtrage précis. Que vous créiez des rapports ou importiez des données, savoir appliquer le format de date et heure SQL correct rend vos requêtes plus efficaces.

Conversion de Chaînes en Datetime

SQL Server fournit plusieurs fonctions pour convertir des chaînes en valeurs de datetime. La fonction CONVERT est particulièrement polyvalente :

DECLARE @dateString VARCHAR(30) = '2024-07-12 14:30:45';
SELECT CONVERT(DATETIME, @dateString) AS ConvertedDateTime;

Cette requête convertit la chaîne en une valeur datetime.

Formatage de la Sortie de Date dans SQL Server

Pour contrôler l’apparence des valeurs de date et d’heure en sortie, utilisez la fonction CONVERT avec des codes de style. Cela vous permet d’appliquer un format de date spécifique aux sorties SQL, que ce soit pour les formats américain, ISO ou personnalisés.

DECLARE @currentDate DATETIME = GETDATE();
SELECT CONVERT(VARCHAR, @currentDate, 101) AS USFormat,
       CONVERT(VARCHAR, @currentDate, 103) AS BritishFormat,
       CONVERT(VARCHAR, @currentDate, 120) AS ISO8601Format;

Cette requête affiche la date actuelle aux formats américain (MM/DD/YYYY), britannique (DD/MM/YYYY) et ISO8601 (YYYY-MM-DD HH:MI:SS).

Manipulation Avancée des Dates et Heures

Arithmétique sur les Dates

SQL Server permet d’effectuer des opérations arithmétiques sur les dates :

DECLARE @startDate DATETIME = '2024-07-12';
SELECT 
    DATEADD(DAY, 7, @startDate) AS OneWeekLater,
    DATEADD(MONTH, 1, @startDate) AS OneMonthLater,
    DATEADD(YEAR, 1, @startDate) AS OneYearLater;

Extraction de Parties d’une Date et Heure

Vous pouvez extraire des parties spécifiques d’une datetime en utilisant diverses fonctions :

DECLARE @sampleDate DATETIME = '2024-07-12 14:30:45';
SELECT 
    YEAR(@sampleDate) AS Year,
    MONTH(@sampleDate) AS Month,
    DAY(@sampleDate) AS Day,
    DATEPART(WEEKDAY, @sampleDate) AS DayOfWeek;

Meilleures Pratiques pour le Formatage des Dates et Heures

Lors de l’utilisation des formats de date et heure dans SQL Server, prenez en compte ces bonnes pratiques :

  1. Utilisez le type de donnée approprié à vos besoins. Si vous n’avez besoin que de la date, utilisez le type ‘date’ plutôt que ‘datetime’.
  2. Soyez cohérent avec vos formats de date et heure dans toute votre base de données et application.
  3. Lors de la conversion de chaînes en datetime, utilisez toujours des formats neutres au niveau linguistique (comme ‘YYYYMMDD’) pour éviter toute ambiguïté.
  4. Utilisez des requêtes paramétrées lors de la manipulation des valeurs de datetime pour prévenir les injections SQL et assurer une typification correcte des données.

Dépannage des Problèmes Courants de Datetime

Gestion des Différents Paramètres Régionaux

SET LANGUAGE English;
SELECT CONVERT(DATETIME, '07/12/2024') AS USDate;
SET LANGUAGE British;
SELECT CONVERT(DATETIME, '07/12/2024') AS BritishDate;

Cet exemple montre comment le changement de paramètre de langue affecte l’interprétation de la date. Soyez toujours explicite sur le format de vos dates pour éviter toute confusion.

Gestion de l’Heure d’Été

Lors de l’utilisation de datetimeoffset, soyez conscient des changements liés à l’heure d’été :

DECLARE @summerDate DATETIMEOFFSET = '2024-07-12 12:00:00 +01:00';
DECLARE @winterDate DATETIMEOFFSET = '2024-12-12 12:00:00 +00:00';
SELECT 
    @summerDate AS SummerDate,
    @winterDate AS WinterDate,
    DATEDIFF(HOUR, @summerDate, @winterDate) AS HourDifference;

Résumé et Conclusion

Comprendre comment formater une date en SQL et choisir le format de date et heure SQL approprié est essentiel pour travailler efficacement avec SQL Server. Nous avons couvert les types de données clés, les techniques de formatage et les conseils de dépannage pour vous aider à éviter les confusions et assurer une gestion cohérente des dates dans vos requêtes.

Que vous affichiez des résultats ou convertissiez des entrées, maîtriser le format de date correct pour les sorties SQL est primordial pour l’exactitude des données et leur utilisabilité.

Pour devenir compétent dans les formats datetime, vous devez choisir le type de données approprié. Il est important de maintenir une cohérence dans les formats utilisés. De plus, tenez compte du contexte de vos données lorsque vous travaillez avec des formats datetime. Avec ces compétences, vous serez bien équipé pour relever tout défi lié aux dates et heures qui se présentera.

Suivant

Solutions Cloud vs SaaS

Solutions Cloud vs SaaS

En savoir plus

Besoin de l'aide de notre équipe de support ?

Nos experts seront ravis de répondre à vos questions.

Informations générales :
[email protected]
Service clientèle et support technique :
support.datasunrise.com
Demandes de partenariat et d'alliance :
[email protected]