Sql 将所有时间转换为0:00
如何转换当前为YYYY-MM-DD时间的所有日期,其中时间为00: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
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))
。