Ответ 1
Чтобы получить дату завтра, вы можете использовать приведенный ниже код, который добавит 1 день к текущей системной дате:
SELECT DATEADD(day, 1, GETDATE())
Возвращает текущую временную метку системы баз данных как значение даты и времени без смещения часового пояса базы данных. Это значение выводится из операционной системы компьютера, на котором запущен экземпляр SQL Server.
DATEADD (datepart, number, date)
Возвращает указанную дату с указанным интервалом (целое число со знаком), добавленным к указанной дате части этой даты.
Итак, добавив это в ваш код в предложении WHERE
:
WHERE CONVERT(VARCHAR, tblcalendarentries.[Start Time], 101) =
CONVERT(VARCHAR, DATEADD(DAY, 1, GETDATE()), 101);
Прежде всего, GETDATE()
предоставит вам сегодняшнюю дату в следующем формате:
2013-04-16 10:10:02.047
Затем, используя DATEADD()
, вы можете добавить (или вычесть, если требуется) дату или временной интервал с указанной даты. Таким образом, интервал может быть: год, месяц, день, час, минута и т.д.
Работа с часовыми поясами?
Если вы работаете с системами, которые пересекают часовые пояса, вы также можете рассмотреть возможность использования GETUTCDATE()
:
Возвращает текущую временную метку системы базы данных как значение даты и времени. Смещение часового пояса базы данных не включено. Это значение представляет текущее время UTC (согласованное универсальное время). Это значение выводится из операционной системы компьютера, на котором запущен экземпляр SQL Server.