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

问题描述 投票:0回答:1

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

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

任何人都可以建议我如何编写SQL查询来执行此日期范围比较并检索那些记录 - “从TestHead中选择* FileName ......”????

任何帮助表示赞赏。

非常感谢,

sql string ms-access compare date-range
1个回答
1
投票

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

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

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

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

有点像:

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

我认为这更适合在表中添加包含FileName字段的日期子字符串的列,因为每当修改现有记录或添加新记录时,您都需要不断更新该列。这意味着C#端更加混乱,或者访问端的UPDATE查询至少需要定期调用。无论哪种方式,它都会与数据库进行更多的沟通。

© www.soinside.com 2019 - 2024. All rights reserved.