我应该如何在我的C#查询中使用c#datetime值?如何在SQL查询中使用DateTime?
到现在为止,我一直在做以下操作:
Datetime my_time = new DateTime(2012, 09, 05);
cmd.Parameters.AddWithValue("@date", my_time);
cmd.CommandText = "SELECT * FROM sales WHERE date = @date";
而一直到今天早上工作正常,当我从检索结果集中值时,已经获得零误差。
我改变了我的日期参数,以抓住从我的时间值这样的短日期字符串:
cmd.Parameters.AddWithValue("@date", my_time.ToShortDateString());
,它似乎再次工作正常。
这样做的正确方法是什么?很明显,我将我的日期时间值转换为一个字符串,只是(大概)数据库将其转换回日期时间,然后再评估我的平等where子句,这似乎有点毫无意义。
编辑:
我使用SQL Server精简版,在我的例子中,日期字段有8精度设置(日期,时间除外吧?)。这是否意味着我最终以00:00:00.000完成了整个日期?如何在不包含时间的情况下将日期时间值传递给数据库,而不必先转换为字符串?
究竟是什么错误你好吗试试? –