2015-03-08 1 views
0

У меня есть две таблицы с типом данных datetime, CreatedDate и CompletedDate и Я хочу найти все строки, в которых CompletedDate находится в течение четырех часов после CreateDate.SELECT WHERE DATETIME находится в течение 4 часов после другого DATETIME SQL Server 2000

Моя исходная база данных является SQL Server 2000 и это связано с моей SQL Server 2008.

Created Date    Completed Date 

2015-03-05 11:47:27.030  2015-03-06 17:32:58.107 

ответ

0

Использование dateadd()

where completeddate <= dateadd(hour, 4, createddate) 

Это должно работать в обеих версиях SQL Server.

Примечание: вы хотите использовать dateadd(), а не datediff(), чтобы получить ровно 4 часа. datediff() не учитывает количество часов между двумя датами. Он подсчитывает количество «часовых переходов» между двумя датами.

Кроме того, сразу после этого переместите свою старую базу данных в более новую версию SQL Server. Это должен быть простой переход, и использование поддерживаемого программного обеспечения настоятельно рекомендуется для любого приложения.

+0

Perfect. Спасибо. – boomcubist