Как проверить время между определенными датами и временем в Sql Server

#sql #datetime #datediff

#sql #datetime #датированный diff #datediff

Вопрос:

У меня есть имя таблицы PrayerTimes . Я хочу получить следующее время молитвы. В каждой молитве есть перерыв. Например, 30 минут или 35 минут. Как я могу проверить, что это время перерыва в молитве.

Поскольку я прикрепил изображения, которые показывают это до 5: 01 утра. Он показывает мне время следующей молитвы, чтобы я также мог получить перерыв. Но в 5: 02 он показывает время следующей молитвы.

Вот пример

  id         Time                        Break_Time
 1          2016-10-20 05:03:00.000     2016-10-20 05:33:00.000
 2          2016-10-20 12:06:00.000     2016-10-20 12:36:00.000
 3          2016-10-20 15:25:00.000     2016-10-20 15:31:00.000
 4          2016-10-20 17:53:00.000     2016-10-20 18:23:00.000
 5          2016-10-20 19:23:00.000     2016-10-20 19:53:00.000
 6          2016-10-21 05:03:00.000     2016-10-21 05:33:00.000
 7          2016-10-21 12:06:00.000     2016-10-21 12:36:00.000
 8          2016-10-21 15:24:00.000     2016-10-21 15:54:00.000
 9          2016-10-21 17:52:00.000     2016-10-21 18:22:00.000
 10         2016-10-21 19:22:00.000     2016-10-21 19:52:00.000
  

Я хочу вернуть, True если время находится между Time и Break_Time

Комментарии:

1. Можете ли вы опубликовать некоторые образцы входных данных и желаемый результат, а не изображения…. Используйте Ctrl K, чтобы упорядочить ввод и вывод…

2. @Teja, пожалуйста, проверьте отредактированный пост сейчас

3. Можете ли вы также опубликовать желаемый результат…. Если входные и выходные данные понятны, то легко решить любую проблему..

4. @Teja, я хочу проверить эту таблицу, и если дата находится между Time и Break_Time, она должна возвращать True

Ответ №1:

 select top 1 [Time] from prayertimes where SYSDATETIME() < DateAdd(minute, 30, [time]) order by [time]