Возможно ли выполнить замену строки внутри инструкции CONTAINS
? Я мой код настроить так:SQL SERVER Полнотекстовый поиск - замена текста в операторе содержит
INSERT @searchfilter (productid, variantID)
SELECT p.ProductID, pv.VariantID from dbo.Product p with(NOLOCK)
JOIN dbo.ProductVariant pv with(NOLOCK) on p.ProductID = pv.ProductID
JOIN dbo.ProductStore ps with(NOLOCK) on p.ProductID = ps.ProductID and ps.StoreID = @storeID
WHERE CONTAINS((dbo.vibe_GetValidSearchString(p.Name, @storeID), p.SKU), @NameField)
Я получил сообщение об ошибке, хотя на CONTAINS
заявление и я не могу получить его для компиляции. Ошибка An expression of non-boolean type specified in a context where a condition is expected.
Я также попытался изменить функцию в WHERE
быть
... WHERE CONTAINS((REPLACE(p.Name,'-',''), p.SKU), @NameField)
, но это дает ту же ошибку. Любые мысли или предложения?
somerhing отсутствует между '' ((в ИНЕКЕ ?? – Hiten004
@ Hiten004 Нет - Когда я 'WHERE СОДЕРЖАЩУЮ ((p.Name, p.Description, p.SKU), @NameField). Он отлично работает, но когда я пытаюсь изменить столбец, он выдает ошибку – user3267755
. Не думаю, что вы можете помещать функцию в 'CONTAINS' https://msdn.microsoft.com/en-us /library/ms187787.aspx – Hiten004