Ответ 1
Измените это (CURRENT_TIMESTAMP-30)
К этому: DateADD(mi, -30, Current_TimeStamp)
Чтобы получить текущую дату, используйте GetDate().
Ссылка MSDN на функцию DateAdd
Ссылка MSDN на функцию получения даты
Я хочу получить записи за последние 30 минут в таблице. Как это сделать? Ниже мой запрос.
select * from
[Janus999DB].[dbo].[tblCustomerPlay]
where DatePlayed < CURRENT_TIMESTAMP
and DatePlayed >
(CURRENT_TIMESTAMP-30)
Измените это (CURRENT_TIMESTAMP-30)
К этому: DateADD(mi, -30, Current_TimeStamp)
Чтобы получить текущую дату, используйте GetDate().
Ссылка MSDN на функцию DateAdd
Ссылка MSDN на функцию получения даты
Посмотрите на использование DATEADD
что-то вроде
SELECT DATEADD(minute, -30, GETDATE())
Использование:
SELECT *
FROM [Janus999DB].[dbo].[tblCustomerPlay]
WHERE DatePlayed < GetDate()
AND DatePlayed > dateadd(minute, -30, GetDate())
SQL Server использует юлианские даты, поэтому ваш 30 означает "30 календарных дней". getdate() - 0.02083 означает "30 минут назад".
DATEADD
только возвращает Function does not exist
в MySQL 5.5.53 (я знаю, что это старый)
Вместо этого я нашел DatePlayed > DATE_SUB(CURRENT_TIMESTAMP, INTERVAL 30 minute)
чтобы получить желаемый результат