У меня есть MS SQL Query, который получает данные с удаленного сервера. Данные, которые я собираю, должны быть отфильтрованы по дате, которая определяется во время выполнения. Когда я запускаю запрос следующим образом:
SELECT * FROM SERVER.Database.dbo.RemoteView
WHERE EntryDate > '1/1/2009'
тогда фильтр применяется удаленно ... Однако я на самом деле не хочу использовать «01.01.2009» в качестве даты - я хочу, чтобы дата предоставлялась пользовательской функцией, например так:
SELECT * FROM SERVER.Database.dbo.RemoteView
WHERE EntryDate > dbo.MyCustomCLRDateFunction()
где функция - это пользовательская скалярная функция CLR, которая возвращает дату и время ... ( Вы можете спросить, зачем мне это делать ... детали немного сложны, поэтому просто поверьте мне - Я должен сделать это так. )
Когда я запускаю этот запрос, удаленный запрос НЕ фильтруется удаленно - фильтрация выполняется после удаления всех данных (400 000 строк против 100 000 строк), и это имеет существенное значение.
Можно ли заставить запрос выполнить фильтрацию удаленно?
Спасибо!