DB查询的DateTime转换

时间:2012-03-01 14:06:17

标签: c# .net sql sql-server

我需要将DateTime转换为字符串以进行数据库查询。

我想做点什么

_endTime.ToString(_isoDateTimeFormat.UniversalSortableDateTimePattern)

它适用于MySQL,但SQL Server会导致问题。

最后的字符串看起来像2012-03-01 15:59:00Z似乎不应该在那里。

有什么建议吗?

1 个答案:

答案 0 :(得分:6)

您根本不应该执行文本转换。

您应该将数据存储为DATETIME(或数据库中相应的类型),然后您应该使用参数在查询中指定值,而不是在SQL中包含它。

这样,您首先不需要任何字符串转换。

总是通过参数传递值,除非您确实 有充分的理由说明为什么绝对直接将它包含在SQL中。使用参数:

  • 保护您免受SQL注入攻击
  • 删除像这样的转换烦恼
  • 使您的代码和数据更加逻辑分离