Sql 将所有时间转换为0:00

Sql 将所有时间转换为0:00,sql,sql-server,tsql,Sql,Sql Server,Tsql,如何转换当前为YYYY-MM-DD时间的所有日期,其中时间为00:00 下面是我的代码,我附上一张图片 select* from(SELECT Date, Depot, Vehicle, Quantity as [Ltrs], OdoReadingMiles, LAG(OdoReadingMiles, 1) OVER (PARTITION BY Vehicle ORDER BY Date) AS previousmileage

如何转换当前为YYYY-MM-DD时间的所有日期,其中时间为00:00

下面是我的代码,我附上一张图片

    select* from(SELECT
    Date,
    Depot,
     Vehicle,
     Quantity as [Ltrs],
     OdoReadingMiles,
     LAG(OdoReadingMiles, 1) OVER (PARTITION BY Vehicle ORDER BY Date) AS previousmileage
     ,OdoReadingMiles-LAG(OdoReadingMiles, 1) OVER (PARTITION BY Vehicle ORDER BY Date) as [Miles]
     ,(OdoReadingMiles-LAG(OdoReadingMiles, 1) OVER (PARTITION BY Vehicle ORDER BY Date)) / (Quantity/4.544) as [MPG]
     ,case when (OdoReadingMiles-LAG(OdoReadingMiles, 1) OVER (PARTITION BY Vehicle ORDER BY Date)) / (Quantity/4.544) not between 2 and 10 then 1 else 0 end as [Anomaly]
     FROM [Fleet].[DwhTriscanChargeouts] )as x
     WHERE x.Anomaly=0
     ORDER BY 2,1


在SQL Server中,您只需转换为日期:

select convert(date, datetimecol) as datecol

不清楚您所谈论的是哪一列,因此上面的内容大致回答了您的问题。

首先转换为date,然后再转换回datetime。时间部分将丢失,保留到00:00

select convert(datetime, convert(date, datetimecol)) as datetimecol

用您正在使用的数据库标记您的问题。如果时间部分不重要,请使用
date
。另一方面:我指的是date列。您的代码可以工作,但删除了时间。我想守时,把时间定在午夜(00:00)?@AmmarWahid。您可以转换回
datetime
convert(datetime,convert(date,datecol))