我需要一个查询来根据列中的最大日期从 SQL Server 表中提取记录,InsertDTS
并且该日期不应包含在输出中。
该InsertDTS
列定义为Datetime
。我需要它提取具有最大日期的所有内容,但忽略时间,因为记录可以全天加载。我有下面的查询,但它只提取具有最近日期和时间的记录。
SELECT
[Payer],
[File],
[Data_Rows],
[Amt_Billed],
[Amt_Paid]
FROM
[Customer].[dbo].[Billing]
WHERE
InsertDTS = (SELECT MAX(InsertDTS)
FROM [Customer].[dbo].[Billing])
CAST
我尝试在子句中使用WHERE
,但无法使其发挥作用。
从性能角度来看,最好不要针对 where 子句中的列运行函数,因为这会使查询无法选择,即无法使用索引。因此,最好使用日期窗口而不是特定日期,例如
并且它与 cast 一起使用效果同样好,例如
将其转换
DATETIME
为DATE
忽略一天中的时间。