Есть ли sql-команда для получения сегодняшней даты в полночь и возможности добавить к ней количество минут?
Necromancing:
самый простой/самый быстрый путь:
SELECT
DATEADD(minute, 1,
CAST(FLOOR(CAST(CURRENT_TIMESTAMP AS float)) AS datetime)
)
или с UTC:
SELECT
DATEADD(minute, 1,
CAST(FLOOR(CAST( GETUTCDATE() AS float)) AS datetime)
)
Это работает, потому что в SQL-сервере, дата и время является значением плавающим, целая часть, представляющая дни с 01.01.1900, подцелая часть представляет процент целого (24-го) дня.
Поэтому, если Вы раунд вниз (floor)
число с плавающей запятой к целому числу, Вы получаете разовое полуночью.
1900-01-01T00:00:00.000
являющийся 0.