SQL:比较字符串文本字段中的日期范围

SQL: Compare Date Range in a String text field

我有一个 MS Access 数据库。我正在用 C# 编写一个应用程序来访问它。我在 MS Access 中有一个类型为“Short Text”的字段“FileName”。FileName 字段中的数据类似于“Test 11-12-2004 15.11.15”。

使用日期范围,我可以根据文件名字段搜索记录。我无法获得 - 如何比较此格式的日期并检索记录? FileName 是文本类型,日期是它的子字符串。仅检索日期部分并与 >= beginDate && <= endDate 进行比较对我来说似乎是一个难题。

任何人都可以建议我如何编写 SQL 查询来执行此日期范围比较并检索这些记录 - "Select * from TestHead where FileName......" ????

感谢任何帮助。

非常感谢,

在您的 C# 代码中,当您浏览记录时,我会像这样拆分字符串:

char[] delimiters = {' '};
string[] FileNameParts = FileName.Split(delimiters);

这将生成一个数组 FileNameParts,其中的第二个元素将包含日期,您可以将其转换为实际日期以便在查询中使用:

DateTime FileNameDate = Convert.ToDateTime(FileNameParts(1))

大致如下:

sSQL = "SELECT * FROM Table WHERE " & beginDate & " <= " & FileNameDate

我认为这比向您的 table 添加一个包含 FileName 字段的日期子字符串的列更可取,因为这样一来,无论何时修改现有记录或添加新记录,您都需要不断更新该列添加。这意味着 C# 端更加混乱,或者访问端的 UPDATE 查询至少需要定期调用。无论哪种方式,它都会与数据库进行更多通信。