Сравните строку даты с датой и временем в SQL Server?
В SQL Server у меня естьDATETIME
столбец, который содержит элемент времени.
Пример
'14 AUG 2008 14:23:019'
ЧтоЛучши метод выбора записей только для определенного дня, игнорируя часть времени?
Пример: (небезопасно, так как не соответствует временной части и не возвращает строк)
DECLARE @p_date DATETIME
SET @p_date = CONVERT( DATETIME, '14 AUG 2008', 106 )
SELECT *
FROM table1
WHERE column_datetime = @p_date
Примечание. Учитывая, что этот сайт также посвящен написанию заметок и приемов, которые вы выбрали, а затем забыли, я собираюсь опубликовать свой собственный ответ на этот вопрос, поскольку материал DATETIME в MSSQL, вероятно, является темой, которую я больше всего ищу в SQLBOL.
Обновит Уточненный пример, чтобы быть более конкретным.
Редактироват Извините, но мне пришлось преуменьшить НЕПРАВИЛЬНЫЕ ответы (ответы, которые возвращают неправильные результаты).
@ Йоррит:WHERE (date>'20080813' AND date<'20080815')
вернется 13-го и 14-го.
@ wearejimbo:Близко, но не сигара знак вручен вам. Вы пропустили записи, написанные в 14/08/2008 с 23: 59: 001 до 23: 59: 999 (т.е. менее чем за 1 секунду до полуночи).