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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL:比较字符串文本字段中的日期范围相关的知识,希望对你有一定的参考价值。

我有一个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 ......”????

任何帮助表示赞赏。

非常感谢,

答案

在你的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查询至少需要定期调用。无论哪种方式,它都会与数据库进行更多的沟通。

以上是关于SQL:比较字符串文本字段中的日期范围的主要内容,如果未能解决你的问题,请参考以下文章

sql语句中日期时间类型怎么比较

软输入键盘隐藏编辑文本

Linq to SQL 选择 DateTime 字段在任何日期范围列表中的行

sql server 日期范围查询

如果超出范围,防止 jQuery UI datepicker 更改文本字段的值

Oracle两个日期类型字段怎么比较大小