Как отображать данные только в виде, где текущее время находится между столбцами времени начала и окончания таблицы событий? - PullRequest
0 голосов
/ 05 июня 2019

У меня есть таблица с именем events.Эта таблица содержит каждое событие, забронированное за год.Я хочу создать представление, где я могу вернуть информацию о событии, происходящем прямо сейчас.таблица содержит столбцы времени начала и окончания.Каков наилучший способ сделать это?

Я уже пытался использовать systimefrompart, getdate и т. Д. Я уже получаю все события, которые происходят сегодня, с помощью столбца startdate:

SELECT id, starttime, endtime, enddate, startdate
FROM     dbo.events
WHERE  (CAST(GETDATE() AS DATE) BETWEEN startdate AND enddate)   

! [Результат] https://i.imgur.com/IUUO3eb.png

Я ожидаю получить событие, которое происходит прямо сейчас.

Ответы [ 2 ]

2 голосов
/ 05 июня 2019

getdate() дата и время возврата.cast() или convert() это тип данных на сегодняшний день, прежде чем сравнивать его с вашими столбцами

Select * 
From   Events 
Where  startdate <= convert(date, getdate())
And    enddate   >= convert(date, getdate())
0 голосов
/ 05 июня 2019

Я попробовал комбинацию между двумя awnsers:

код, который я использовал:

SELECT id AS Event, starttime, endtime
FROM     dbo.events
WHERE  (starttime <= sysdatetimeoffset()) AND (endtime >= sysdatetimeoffset())

это дает мне результат, который мне нужен.

Спасибо всем

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...