0

我们正在使用使用 VFP 数据库的 Abra Suite 软件。我在 C# 中有一个小程序,我想用它从数据库中检索数据并从中生成一个 csv 文件。此时我的问题是根据我在 SQL 语句中指定的日期范围获取数据。下面是我的 SQL 语句,无论出于何种原因,我看到有 2008 年的记录(即 06/09/2008)。我在这里做错了什么?因为当我阅读 SQL 的工作原理时,我应该能够做到“WHERE chkdate BETWEEN '2007-06-01' '2007-06-06'”,但我总是得到“运算符/操作数类型不匹配”,这就是我使用的原因CAST 在我当前的 SQL 语句中。

string SelectCmd = "SELECT TOP 100 p_empno, p_fname, p_lname, chknumber, chkamount, CAST(chkdate AS varchar(10)) " +
        "FROM hrpersnl " +
        "INNER JOIN prckhist ON hrpersnl.p_empno = prckhist.empno " +
        "WHERE CAST(chkdate AS varchar(10)) BETWEEN '06/06/2007' AND '06/09/2007' " +
        "ORDER BY p_empno";
4

1 回答 1

3

在两个日期之间使用大括号而不是撇号,例如 {06/06/2007} 和 {06/09/2007}

于 2012-05-23T12:12:46.143 回答