2012-09-18 116 views
3

我想建立一個sql查詢,我的表單中的一個表單不應該包含通用名稱(維護單獨表中的單詞列表),我傳遞的值作爲參數歸檔,並希望檢查它不應該包含該表中的任何通用名稱。需要根據SQL查詢中的表格行檢查參數

我怎樣才能實現使用SQL查詢?

注意:如果通用名稱是'abc',並且我將參數傳遞爲'!abc123',因爲它包含該單詞查詢應該返回false。

在此先感謝。

回答

0

試試這個:

IF NOT EXISTS(SELECT word FROM CommonWord WHERE @yourparam 
       LIKE '%' + word + '%') 
    BEGIN 
     RETURN 1 
    END 
    ELSE 
    BEGIN 
     Return 0 
    END 

如果@yourParam包含在任何單詞或名稱,你不希望使用什麼工作的。它只返回1,如果它不包含在表中的任何一行。

我只是在這種方式下運行這個語句(你可以使用簡單的Exists而不是NOT Exists),因爲你可能想擴展真正部分的功能。

+0

謝謝!解決方案:) –

3

嘗試像(未經測試查詢):

SELECT CommonName 
FROM CommonNamesTable 
WHERE CommonName like '%NameToTest%' 
OR CONTAINS(NameToTest, CommonName); 

基本上你需要的字符串匹配選項:

看看的CONTAINS選擇和閱讀有關Queries with full text search

2

這就是你正在找?

SELECT (COUNT(*) == 0) FROM tablewithcommonwords 
WHERE wordfromform LIKE CONCAT('%', wordcolumnnfromcommonwordstable, '%'); 
0
if exists (select * from reservedwords where @parameter like '%'+word + '%') 
    select 0 
else 
    select 1 
0

我想建議你必須使用按鍵事件在你的文本框,然後處理你的代碼後,每個人物在文本框中輸入。