如何将 C# Datetime 转换为等效的 SQL DATE 类型,以便我可以在 WHERE 类中进行简单的相等,而无需参数化?
问问题
2280 次
4 回答
4
只需将其转换为 iso 字符串。
日期和时间
YourDateTime.ToString("yyyy-MM-ddTHH\:mm\:ss.fffffffzzz");
仅日期
YourDateTime.ToString("yyyy-MM-dd");
但我真的鼓励您使用参数化查询,因为每次您的 T-SQL 查询不同时,您都会生成一个新的 Sql 执行计划。
如果您使用参数,您将只获得一个计划。这会带来更好的性能。
更多信息
于 2012-04-19T12:07:16.397 回答
2
yourDateTime.toString("yyyy-MM-dd HH:mm:ss");
但是使用参数会更好
于 2012-04-19T12:07:51.327 回答
1
我认为其他答案并没有真正理解您的问题(或者我没有)
根据我收集的信息,您在问如何从 C# 转换DateTime
为 SQLsDate
类型(不是 sql datetime!)。所有其他答案都包含时间。
如果这是真的,你根本不必担心。SQLDate
与 .NET 完全兼容,DateTime
因此只需将其传递给过程即可去除时间部分并正确传递日期。
于 2012-04-19T12:19:37.623 回答
1
如果你在谈论SqlDateTime
结构,你可以使用它的构造函数,它接受一个DateTime
类型的值:
请参阅 MSDN:SqlDateTime 构造函数 (DateTime)
于 2012-04-19T12:08:29.327 回答