sql получить конкретное время на дату
Я хочу написать SQL-запрос, чтобы возвращать результаты с 9 вечера вчера до текущего времени. Насколько мне известно, GETDATE()
даст мне только сегодняшние результаты, а GETDATE()-1
даст мне вчера все, чего я не хочу.
Как это можно сделать?
- Как написать WHERE, чтобы приравнивать два столбца, содержит как NULL, так и пустые значения
- Присоединить запрос к диапазону дат
- Запрос Получить последнюю вставленную строку из динамической группировки таблицы по одному полю
- Возможно ли создать глобальную хранимую процедуру на уровне сервера Sql
- Запустить xp_create_subdir без админ-привилегий
- Используйте все резервные копии для восстановления базы данных с помощью SMO
- Как восстановить базу данных SQL Server 2012 до SQL Server 2008 R2?
- Поиск SQL Server с использованием, например, при игнорировании пробелов
- Связь между двумя таблицами соединений
- SQL создать базу данных, если она не существует, непредвиденное поведение
- Как создать серийный номер в SQL для INSERT?
- Мощный инструмент управления для MySQL с аналогичными функциями для студии SQL Server Management
- Как импортировать данные в базу данных в памяти?
select * from tbl where datecol between dateadd(hour,21,DATEDIFF(d,0,getdate()-1)) and getdate()
Попробуйте следующее:
DATE_SUB(CURDATE(), INTERVAL 24-9 HOUR);
Это составляет 24-9 часов до текущей даты, что эквивалентно вычитанию 1 дня и добавлению 9 часов.
Попробуйте это, это отлично работает в Sybase databse
выберите * из таблицы, где datecol> dateadd (день, -1, dateadd (час, 18, (конвертировать (datetime, convert (date, getdate ())))))
Объяснение: (внутри снаружи)
-
convert (date, getdate ()). Это позволит получить сегодняшнюю дату только с датой, т. е. 7/19/2015
-
convert (datetime, convert (date, getdate ())). Это позволит получить сегодняшнюю дату с 00:00 часов, т.е., 7/19/2015 12:00:00 AM
-
dateadd (hour, 21, (convert (datetime, convert (date, getdate ()))) – Это добавит часы к ранее полученному результату, т.е. 7/19/2015 9:00:00 PM
-
dateadd (день, -1, dateadd (час, 18, (конвертировать (datetime, convert (date, getdate ()))))) – Наконец, это будет минус один день для полученной даты, т.е., 7/18/2015 9 : 00: 00
Ну вот…