是否可以在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是'(('在where子句? – Hiten004
@ Hiten004無缺之間 - 當我有'WHERE CONTAINS((p.Name,p.Description,p.SKU ),@NameField)'它的效果很好,但是當我嘗試改變列時,它會拋出一個錯誤 – user3267755
我不認爲你可以在'CONTAINS'中放置函數https://msdn.microsoft.com/en-us /library/ms187787.aspx – Hiten004