У меня есть запрос, который отлично работает на SQL2005, но перемещение базы данных в SQL2008 дает мне ошибку из названия.
Код, который является проблемой, - это вызов CONTAINS, CONTAINSTABLE или FREETEXT с пустым параметром. Однако я пытаюсь только позвонить или присоединиться, когда есть такое значение
where (@search_term = '' or (FREETEXT(lst.search_text, @search_term)))
или
left join containstable (listing_search_text, search_text, @search_term) ftb on l.listing_id = ftb.[key]
and len(@search_term) > 0
Однако я не могу найти обходное решение для работы над SQL2008. Любые идеи?
Я знаю, что могу делать динамический SQL или иметь оператор if с двумя разными случаями (выберите с FT join, выберите без FT соединения. Лучше обходной путь, который не требует этого?