2011-12-05 35 views
-1

如何測試某個字段的內容是否在我的表中?例如名稱「安妮」。 我喜歡寫,說:「如果這個名字是不是在我的表」,然後一個條件......SQL查詢 - 測試缺少人名

感謝

+0

您使用的是什麼RDBMS? –

+0

這個條件放在哪裏?在查詢內或觸發器內部,存儲過程,函數...? – danihp

回答

3
IF NOT EXISTS (SELECT 1 FROM MyTable WHERE [Name] = 'Anne') 
BEGIN 
    .... 
END 

NOT EXISTS最好COUNT(*) = 0。後一種形式有時需要合適的索引來執行良好的操作(即不執行全表掃描;取決於可用的索引)。

0

這取決於您是在嘗試將其作爲過程還是簡單的SQL查詢/更新。米奇爲前者提供了一個很好的解決方案。如果是後者,下面是一個WHERE子句:

SELECT ... FROM MyTable 
WHERE NOT NameColumn = 'Anne' 
AND ... 

您也可以通過更換=LIKE檢查泛音這樣:

WHERE NOT NameColumn LIKE 'Anne%' 

WHERE NOT NameColumn LIKE '%Anne%' 

但熊請記住LIKE的性能因素取決於表格的大小和其他因素。