【发布时间】:2018-01-09 07:27:55
【问题描述】:
我在 CSV 数据上使用c# ODBC query,其中包含不同格式的日期。
就像有些专栏有MM.DD.YYYY 格式,而很少有MM-DD-YYYY 格式。
如何写SELECT statement 来查询那些列?
我试过SELECT * FROM data.csv WHERE date1 <> #02-02-2018#
其中存储的数据类似于02.02.2018。
string query = "SELECT * FROM data.csv WHERE date1 <> #02-02-2018#";
OdbcDataAdapter da = new OdbcDataAdapter(query, conn);
da.Fill(dataSet, table.Name);
我所期望的是,无论 CSV 日期格式如何,它都会以给定的值执行 where。
|日期1 |
|----------|
|02.02.2018|
|2018 年 2 月 2 日|
|2018 年 2 月 2 日|
以上示例数据在date1 列上具有不同的格式。
【问题讨论】:
-
你试过了,结果如何?
-
@ChetanRanpariya 它只是抛出异常或不匹配条件。
-
这些实际上都不是
DATEs。它们都是某种形式的字符串(CHAR、VARCHAR等)。您需要为 CSV 数据使用更强大的 ODBC 驱动程序 — 即可以将CONVERT从STRING到DATE的驱动程序 — 或者将该 CSV 带入真正的 DBMS(并为该 DBMS 使用 ODBC 驱动程序)。
标签: c# sql ms-access odbc date-format