I have a query that ran fine on SQL2005 but moving the database to SQL2008 gives me the error from the title.
The code that is the problem is a call to CONTAINS, CONTAINSTABLE or FREETEXT with an empty parameter. However I'm trying to only call or join when there is a value like such
where (@search_term = '' or (FREETEXT(lst.search_text, @search_term)))
or
left join containstable (listing_search_text, search_text, @search_term) ftb on l.listing_id = ftb.[key]
and len(@search_term) > 0
However I cannot find any workaround for this to work on SQL2008. Any ideas?
I know I can do dynamic SQL or have a if statement with two different cases (select with FT join, select without FT join. Any better workaround which doesn't require doing this?