Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何构造一个SQL查询来匹配具有多个值的varchar列(MS Access.mdb)?_C#_Sql_Ms Access - Fatal编程技术网

C# 如何构造一个SQL查询来匹配具有多个值的varchar列(MS Access.mdb)?

C# 如何构造一个SQL查询来匹配具有多个值的varchar列(MS Access.mdb)?,c#,sql,ms-access,C#,Sql,Ms Access,我正在生成一个数据库系统,需要运行一个查询,其中我的VARCHAR列需要匹配多个值中的任意一个。比如, 从压缩标签中选择* 其中TagValue为iTherFoo、BAR、OTHER 我知道我可以把它写成: 从压缩标签中选择* 其中TagValue=FOO或TagValue=BAR或TagValue=OTHER 我只是想知道是否有一个更好、更整洁的替代方案,比如我在上面发布的ISEITHER函数?请注意,我使用的是MS Access数据库,如果可能的话,我更愿意使用OleDbCommand来实现

我正在生成一个数据库系统,需要运行一个查询,其中我的VARCHAR列需要匹配多个值中的任意一个。比如,

从压缩标签中选择* 其中TagValue为iTherFoo、BAR、OTHER 我知道我可以把它写成:

从压缩标签中选择* 其中TagValue=FOO或TagValue=BAR或TagValue=OTHER 我只是想知道是否有一个更好、更整洁的替代方案,比如我在上面发布的ISEITHER函数?请注意,我使用的是MS Access数据库,如果可能的话,我更愿意使用OleDbCommand来实现这一点

与目标值列表一起使用

标记值在“FOO”、“BAR”、“OTHER”中的位置
因此,对于TagValue与这3个字符串中的任何一个匹配的任何行,WHERE条件都将得到满足

你可以很容易地用谷歌找到答案;我在另一个数据库中看到了一个IN的示例,但我没有意识到我可以将其用于列表!:-IN也可以与子查询一起使用:其中TagValue在从另一个\u表中选择样本\u值。。。在这种情况下,匹配目标是在运行时从其他数据源检索的,而不是在SQL语句中作为硬编码的值列表列出,如“FOO”、“BAR”、“other”,对于我缺乏SQL知识表示歉意,但是除了LIKE之外,是否有一个等效的运算符,以便我可以键入WHERE TagValue LIKEANY“%FOO%”、“%BAR%”,“%OTHER%”不在我所知道的Access SQL中。我认为您必须执行像“%FOO%”这样的TagValue或像“%BAR%”这样的TagValue。。。等