2010-08-16 142 views
0

我有04/08/2010格式的出生日期(DD/MM/YYYY)和格式为 7/14/2010 12:00:00 AM(MM/DD/YYYY),我想检查我的当前日期从存储数据库的日期为所有日期大于等于当前日期,所以我怎么能第一次改变日期的甲酸,然后可以从数据库使用一些查询得到适当的结果日期格式转换

回答

3

SQL服务器根本不会以字符串格式存储日期(假设您的列是真正的DATETIME列或类似的东西)......并且您不应该以字符串格式发送查询。

取而代之,使用参数化查询,您可以使用DateTimeDateTimeOffset来填充值 - 这样,在与数据库交谈时就不必担心字符串格式。以适当的格式解析输入到您的应用的字符串(例如DateTime.TryParseExact),然后您不需要考虑格式。

如果你的数据库真的使用NVARCHAR或类似的存储日期,你应该看看解决这个问题。

0

你是如何从SQL得到追溯到?

如果您使用的是像NHibernate这样的ORM工具,您应该能够将数据作为DateTime对象进行检索,然后您可以在代码中对其进行比较。

如果你不使用NHibernate或LINQ(或某些其他实现),并使用ADO,你应该能够在您检索它转换为DateTime,然后可以比较有什么用DateTime.Parse()DateTime.TryParse()你的代码。