将SQl日期与C#输入值进行比较

时间:2013-06-10 07:34:53

标签: .net sql sql-server sql-server-2008 c#-4.0

您必须将从C#代码发送到SQLServer的日期时间与毫秒进行比较。

我已将日期转换如下..

CultureInfo provider = CultureInfo.InvariantCulture;
        DateTime MyDateTime = new DateTime();
        MyDateTime = DateTime.ParseExact(MyString, "yyyy-MM-dd HH:mm:ss.fff",
                                         provider);

我已将上述日期设为SP。

但是当我将它发送到数据库时,只有以下值从C#代码发送“2013-05-06 14:33:13 PM”。 当我尝试转换数据库中的值时,那里缺少毫秒的值。我在SQl服务器

中使用convert转换以上内容
Select convert(varchar(23),@ModifiedDt,109) 

它给出如下值“2013年5月6日2:33:13:00”对于输入给定的C#代码。但是当转换数据库中的数据时,它遵循“2013年5月6日2:33:13:96”。因此,日期的价值在毫秒时间内未达到匹配。我必须检查甚至毫秒才能找到交易真实的天气。有一个plz告诉如何从C#Code发送值以克服上述问题。

1 个答案:

答案 0 :(得分:0)

如果可能,我建议将其作为ISO 8601(例如: - '2011-08-02T05:07:27.000')字符串传递,而不是将该值作为日期时间传递。你可以直接在sql comparision中使用该字符串。它解决了你的问题。