Получите метку времени 23:59:59 в моем столбце дат в T SQL - PullRequest
0 голосов
/ 15 октября 2019

Мне нужно поставить отметку времени 23.59.59 в столбце даты. Прямо сейчас формат гггг-мм-дд.

screenshot columns

Ответы [ 2 ]

1 голос
/ 15 октября 2019

Это слишком долго для комментария.

Во-первых, в столбце "дата" отсутствует компонент времени. Таким образом, вы не можете делать то, что вы хотите. Если у вас есть столбец datetime, вы можете создать значение:

datetimefromparts(year(dt), month(dt), day(dt), 23, 59, 59, 0)

Однако не делайте этого. Это обычно необходимо, чтобы получить «последнее мгновение» дня. Вместо этого просто измените определение диапазона, чтобы дата окончания не включалась. Вместо:

where '2020-01-01' between date_start and date_end

используйте:

where '2020-01-01' >= date_start and
      '2020-01-01' < date_end

И сохраните date_end как дату без компонента времени .

0 голосов
/ 15 октября 2019

Вы можете обновить дату ваших столбцов, "DATE" - это имя вашего поля.

UPDATE TableXYZ SET 
DATE=DATETIMEFROMPARTS(YEAR(DATE), MONTH(DATE), DAY(DATE), 23, 59, 59, 0)
WHERE ISDATE(DATE)=1
...