SQL 条件从 CSV 中选择

本文关键字:选择 CSV 条件 SQL | 更新日期: 2023-09-27 18:35:13

我正在尝试使用 SQL 查询SELECT * FROM ["+fileName+"];从 CSV 文件加载数据。当我选择所有无条件的数据时,它按预期工作,但是,我想省略任何包含字符串".BAK"在第一列中。有没有人对我如何实现这一目标有任何见解?

我已经尝试了WHERE NOT LIKE '%.BAK%'条件的变化,但我无法让它们按预期工作。

谢谢

SQL 条件从 CSV 中选择

如果您的 CSV 文件在第一行中包含列标题(例如)

firstHeaderName,secondHeaderName,thirdHeaderName, ......

那么要执行的查询很简单

string cmdText = "SELECT * FROM [" + filename + "] WHERE firstHeaderName NOT LIKE '%.bak%'";

如果您在 CSV 的第一行中没有带有列标题的行,则情况类似。
在本例中,连接字符串如下所示

string constr = @"Provider=Microsoft.Jet.OLEDB.4.0;
                  Data Source=d:'temp';
                  Extended Properties='text;HDR=No;FMT=Delimited'";

并且您的命令文本应使用常规名称 F1 引用第一列

string cmdText = "SELECT * FROM [" + filename + "] WHERE F1 NOT LIKE '%.bak%'";

约定是使用 F1(第一列)、F2(第二列)等命名列。