Сравните строку даты с датой и временем в 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 секунду до полуночи).

Ответы на вопрос(18)

Ваш ответ на вопрос