如何测试某个字段的内容是否在我的表格中?例如,名字“安妮”。 我想写一个条件,说“如果这个名字不在我的桌子上”那么......
由于
答案 0 :(得分:3)
IF NOT EXISTS (SELECT 1 FROM MyTable WHERE [Name] = 'Anne')
BEGIN
....
END
NOT EXISTS
优于COUNT(*) = 0
。后一种形式有时需要合适的索引才能表现良好(即不执行全表扫描;取决于可用的索引)。
答案 1 :(得分:0)
这取决于您是尝试将其作为过程还是简单的SQL查询/更新。米奇为前者提供了一个很好的解决方案。如果是后者,则以下是WHERE子句:
SELECT ... FROM MyTable
WHERE NOT NameColumn = 'Anne'
AND ...
您还可以将=
替换为LIKE
来检查部分内容:
WHERE NOT NameColumn LIKE 'Anne%'
或
WHERE NOT NameColumn LIKE '%Anne%'
但请记住,LIKE
会根据表格的大小和其他因素考虑性能因素。