конвертировать все время в 0:00 - PullRequest
0 голосов
/ 17 февраля 2020

Как бы я преобразовал все даты, которые в настоящее время YYYY-MM-DD Time, где время 00:00.

Ниже мой код, и я прикрепляю пи c

enter image description here

    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

Ответы [ 2 ]

1 голос
/ 17 февраля 2020

На SQL Сервере вы можете просто конвертировать в дату:

select convert(date, datetimecol) as datecol

Неясно, о каких столбцах вы говорите, поэтому вышеприведенный в общем случае отвечает на ваш вопрос.

0 голосов
/ 17 февраля 2020

Конвертировать сначала в дату, а затем обратно в дату и время. Часть времени будет потеряна, оставляя до 00:00

select convert(datetime, convert(date, datetimecol)) as datetimecol
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...