Получить запись из таблицы с указанием даты и времени - PullRequest
0 голосов
/ 17 июня 2020

Мне нужно получить запись с указанием c DateTime на SQL сервере. Пробовал со многими параметрами, такими как

select *
from test
where convert(datetime ,imported_date) = convert(datetime,'2020-06-16 
22:00:07')

import_date имеет тип данных datetime2. «Меньше чем» и «Больше чем» работают, но условие равенства не работает. Пожалуйста, помогите

1 Ответ

1 голос
/ 17 июня 2020

Возможно, у вашего datetime дробные секунды. Если да, то я бы рекомендовал сформулировать это как:

where 
    imported_date >= '2020-06-16 22:00:07' 
    and imported_date < '2020-06-16 22:00:08'

Это намного эффективнее, чем использование функций преобразования в столбце datetime, поскольку позволяет базе данных использовать индекс в этом столбце, если таковой имеется. .

Если вы работаете с параметром:

where 
    imported_date >= @param_date
    and imported_date < dateadd(second, 1, @param_date)
...