Maison >base de données >tutoriel mysql >Comment trouver la date la plus récente sur plusieurs colonnes de date dans SQL ?

Comment trouver la date la plus récente sur plusieurs colonnes de date dans SQL ?

Patricia Arquette
Patricia Arquetteoriginal
2025-01-21 22:37:10133parcourir

How to Find the Most Recent Date Across Multiple Date Columns in SQL?

Compétences d'acquisition de valeur maximale de date multicolonne SQL

Lorsque vous travaillez avec des tableaux contenant plusieurs colonnes de date ou d'horodatage, vous devez identifier la dernière valeur pour chaque ligne. Cet article fournit une solution SQL pour obtenir la valeur maximale dans plusieurs colonnes, en convertissant les données brutes dans un format plus gérable.

Description du problème

Supposons qu'il existe une table appelée « TableName » avec les colonnes suivantes : [Number], [Date1], [Date2], [Date3] et [Cost]. L'objectif est de convertir ce tableau en un nouveau tableau affichant les informations suivantes pour chaque ligne : [Number], [Most_Recent_Date] et [Cost].

Solution

Dans SQL Server, un moyen efficace d'obtenir la valeur maximale de plusieurs colonnes consiste à utiliser la syntaxe T-SQL et SQL Server :

<code class="language-sql">SELECT [Other Fields],
  (SELECT Max(v) 
   FROM (VALUES (date1), (date2), (date3),...) AS value(v)) as [MaxDate]
FROM [YourTableName]</code>

Ce code utilise le constructeur de valeurs de table "VALUES" pour créer une table temporaire contenant les valeurs des colonnes individuelles de la table d'origine. L'instruction SELECT entre parenthèses calcule la valeur maximale de chaque ligne et l'attribue à l'alias "[MaxDate]". En combinant ces informations avec d'autres champs de la table d'origine, nous obtenons une nouvelle table avec le format de sortie souhaité.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn