我的出生日期格式为04/08/2010(DD/MM/YYYY),sql server存储的格式为7/14/2010 12:00:00 AM (MM/DD/YYYY),我想从存储的数据库日期中检查当前日期是否大于当前日期,那么如何首先更改日期的格式,然后使用某些查询从数据库中获得适当的结果
发布于 2010-08-16 16:33:37
SQL server根本不以字符串格式存储日期(假设您的列是真正的日期时间列或类似的列)……而且你不应该以字符串格式发送你的查询。
取而代之的是使用参数化查询,其中使用DateTime或DateTimeOffset填充值-这样,在与数据库对话时就不需要担心字符串格式。以适当的格式解析输入到应用程序的字符串(例如,使用DateTime.TryParseExact),这样您就不需要考虑格式化了。
如果你的数据库真的在使用NVARCHAR或者类似的存储日期的东西,你应该想办法解决这个问题。
发布于 2010-08-16 16:34:35
关于日期格式http://msdn.microsoft.com/en-us/library/aa226054(SQL.80).aspx的所有内容
发布于 2010-08-16 17:08:00
如何从SQL中获取数据?
如果您正在使用诸如NHibernate之类的对象关系管理工具,您应该能够以DateTime对象的形式检索数据,然后可以在代码中与之进行比较。
如果您使用的不是Nhibernate或LINQ (或其他实现),而是ado,那么您应该能够对要检索的内容使用DateTime.Parse()或DateTime.TryParse(),以便将其转换为DateTime,然后可以在代码中进行比较。
https://stackoverflow.com/questions/3491612
复制相似问题