2016-11-08 186 views
0

我有一個SQL查詢有多個條件,包括一個WHERE CONTAINS子句。我試過沒有這個條款的查詢,它工作正常。我有全文索引和使用完全相同的WHERE CONTAINS語法在類似的查詢和它的工作,但該查詢沒有任何其他條件。SQL Query WHERE CONTAINS語法與多個條件

SELECT * 
FROM waitList 
WHERE CONTAINS (Huts, '%'+ @huts + '%') 
    AND StartDate <= @date 
    AND EndDate >= @date 
    AND Spaces <= @numSpaces 
+0

在sql server中,比可以搜索的單詞小的唯一單位是一個前綴(單詞以該單位開始) – Mihai

+0

您使用此查詢得到的錯誤是什麼? –

+0

@a_horse_with_no_name OP最初有'mysql'和'sql-server'作爲標籤,但它們出於某種原因被編輯出來。 –

回答

1

如果你正在做一個字符串匹配,請嘗試使用LIKE(或ILIKE):

SELECT * 
FROM waitList 
WHERE Huts LIKE '%'+ @huts + '%' 
    AND StartDate <= @date AND EndDate >= @date 
    AND Spaces <= @numSpaces 

的代碼假設你申請的變量爲一個字符串,然後對你的數據庫中執行。