如何从"值"不属于组的Varchar中选择

时间:2020-03-06 14:53:47  来源:igfitidea点击:

我正在尝试这样做

SELECT `Name`,`Value` FROM `Constants` 
WHERE `Name` NOT IN ('Do not get this one'|'or this one');

但这似乎不起作用。

我如何获取所有值(除了少数几个),而不执行以下操作:

SELECT `Name`,`Value` FROM `Constants` 
WHERE `Name` != 'Do not get this one' 
AND `Name` != 'or this one'

第一个使用int值,但不适用于varchar,是否有与第一个类似的语法,其性能类似于第二个查询?

解决方案

它是IN('foo','bar')`,带有逗号,而不是管道。

我们应该将常量放在表中,然后从该表中执行选择语句。如果我们绝对不希望使用永久表,则可以使用临时表。如果不想这样做,可以使用IN语法:

不输入("一个","两个")

IN语法使用逗号分隔的列表

SELECT `Name`,`Value` FROM `Constants` WHERE `Name` NOT IN ('Do not get this one','or this one');