您的位置:首页 > 数据库

关于.net中的System.DateTime.Now与SQL Server中的getDate()的格式化

2007-12-01 16:53 281 查看
以前一直都喜欢在储存过程中用这种方法来比较时间是否相同。

比如说@dateA是使用.net的 System.DateTime.Now传进来的当前时间的参数,而@dateB是在数据库中使用

getDate()系统函数得到的当前时间,然后Convert(Varchar(10),@dateA,120)=Convert(Varchar(10),@dateB,120)

来比较时候相等,在今天之前好像这个方法都一直都很奏效,但是刚刚在我的一个储存过程中这个办法出了

问题了,比出来的时间是不相等,为什么呢? 后来一调试,才发现使用从.net中传入的时间参数@dateA转换出来

的当前时间为:2007-12-1 而使用数据库getDate()函数得到的@dateB参数转换出来的时间为:2007-12-01

原来都是那个“天”的格式造成两个时间不相等的,.net中的天为"1",而sql server数据库中的天为"01"。

解决办法其实也简单,在获取.net的当前时间前先格式化下:dateA=DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") ,就可以搞定了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: