SQL多列日期最大值取得技巧
處理包含多個日期或時間戳記列的表時,需要為每一行識別最新的值。本文提供一個SQL解決方案,在多列中取得最大值,將原始資料轉換為更易於管理的格式。
問題描述
假設有一個名為「TableName」的表,包含以下列:[Number]、[Date1]、[Date2]、[Date3]和[Cost]。目標是將該表轉換為新表,顯示每一行的以下資訊:[Number]、[Most_Recent_Date]和[Cost]。
解
在SQL Server中,取得多列最大值的有效方法是使用T-SQL和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>
此程式碼使用表值建構器「VALUES」建立一個臨時表,其中包含原始表中各個列的值。括號內的SELECT語句計算每一行的最大值,並將其賦值給別名「[MaxDate]」。透過將此資訊與原始表中的其他欄位組合,我們得到一個具有所需輸出格式的新表。
以上是如何在 SQL 中尋找多個日期列中的最新日期?的詳細內容。更多資訊請關注PHP中文網其他相關文章!