日期格式转换

时间:2010-08-16 08:31:20

标签: c# asp.net sql-server

我的格式为04/08/2010(DD / MM / YYYY)的出生日期和格式的sql server存储 7/14/2010 12:00:00 AM(MM / DD / YYYY)我想从存储的数据库日期检查我当前的日期是否大于等于当前日期,所以我怎么能先改变格式的日期,然后可以使用一些查询从数据baase获得适当的结果

3 个答案:

答案 0 :(得分:3)

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

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

如果您的数据库真正使用NVARCHAR或类似于存储日期的东西,您应该尝试修复它。

答案 1 :(得分:0)

答案 2 :(得分:0)

你是如何从SQL获取日期的?

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

如果您没有使用Nhibernate或LINQ(或其他一些实现)并且正在使用ado,那么您应该能够使用DateTime.Parse()DateTime.TryParse()来检索要将其投射到然后可以在代码中比较DateTime。