SQL NOT LIKE 功能不正常
SQL NOT LIKE not functioning properly
我无法弄清楚为什么 NOT LIKE 运算符不能正常工作。我在数据库中有 34 sample_name
以 NT 开头,但它只删除了一些,而不是其他。当我尝试使用 LIKE ('NT%)
进行搜索时,它会搜索所有内容。下面是我的。
WHERE
full.full_id IN ('272', '273')
OR full.full_id IN ('567', '686')
AND random.sample_name NOT LIKE ('NT%')
您在 IN
列表中有一个无关的 ,
,并且您在 NOT LIKE 语句末尾缺少 '
。该语句应如下所示:
WHERE full.full_id IN ('272', '273', '567', '686')
AND random.sample_name NOT LIKE ('NT%')
您发布的代码中有几个错误。我猜你打算:
WHERE full.full_id IN (272, 273) AND
random.sample_name NOT LIKE 'NT%'
备注:
IN
列表中没有逗号。
- 在
LIKE
模式上终止单引号
- 如果列是数字,则不要对常量使用单引号(仅对字符串和日期常量使用单引号)。
LIKE
模式不需要括号(尽管这不是语法问题)
我无法弄清楚为什么 NOT LIKE 运算符不能正常工作。我在数据库中有 34 sample_name
以 NT 开头,但它只删除了一些,而不是其他。当我尝试使用 LIKE ('NT%)
进行搜索时,它会搜索所有内容。下面是我的。
WHERE
full.full_id IN ('272', '273')
OR full.full_id IN ('567', '686')
AND random.sample_name NOT LIKE ('NT%')
您在 IN
列表中有一个无关的 ,
,并且您在 NOT LIKE 语句末尾缺少 '
。该语句应如下所示:
WHERE full.full_id IN ('272', '273', '567', '686')
AND random.sample_name NOT LIKE ('NT%')
您发布的代码中有几个错误。我猜你打算:
WHERE full.full_id IN (272, 273) AND
random.sample_name NOT LIKE 'NT%'
备注:
IN
列表中没有逗号。- 在
LIKE
模式上终止单引号 - 如果列是数字,则不要对常量使用单引号(仅对字符串和日期常量使用单引号)。
LIKE
模式不需要括号(尽管这不是语法问题)