我的格式为04/08/2010(DD / MM / YYYY)的出生日期和格式的sql server存储 7/14/2010 12:00:00 AM(MM / DD / YYYY)我想从存储的数据库日期检查我当前的日期是否大于等于当前日期,所以我怎么能先改变格式的日期,然后可以使用一些查询从数据baase获得适当的结果
答案 0 :(得分:3)
SQL服务器根本不以字符串格式存储日期(假设您的列是真正的DATETIME列或类似的东西)......并且您不应该以字符串格式发送查询。
而是使用参数化查询,使用DateTime
或DateTimeOffset
填充值 - 这样您在与数据库交谈时无需担心字符串格式。以适当的格式(例如使用DateTime.TryParseExact
)将字符串输入解析到您的应用,然后您不需要考虑格式化。
如果您的数据库真正使用NVARCHAR或类似于存储日期的东西,您应该尝试修复它。
答案 1 :(得分:0)
答案 2 :(得分:0)
你是如何从SQL获取日期的?
如果您正在使用像NHibernate这样的ORM工具,那么您应该能够将数据作为DateTime对象检索,然后可以在代码中进行比较。
如果您没有使用Nhibernate或LINQ(或其他一些实现)并且正在使用ado,那么您应该能够使用DateTime.Parse()
或DateTime.TryParse()
来检索要将其投射到然后可以在代码中比较DateTime。