2012-03-01 95 views
0

为了DB查询的目的,我需要将DateTime转换为字符串。DB查询的日期时间转换

我认为做这样的事情

_endTime.ToString(_isoDateTimeFormat.UniversalSortableDateTimePattern) 

它的工作原理与MySQL,但SQL Server会导致问题。

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

有什么建议吗?

+1

为什么你需要将其转换为字符串?它是否以文本形式存储在数据库中?如果是这样,为什么? – 2012-03-01 14:07:14

+0

你为什么不移除z? – ediblecode 2012-03-01 14:07:26

+0

我需要输入到我的查询字符串 – 2012-03-01 14:07:57

回答

6

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

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

这样你就不需要任何字符串转换了。

总是通过参数通值,除非你有一些真的,真的理由,为什么你绝对有直接将其包含在SQL。使用参数:

  • 保护您免受SQL注入攻击
  • 删除转换的烦恼像这样的
  • 保持了代码和数据的更多逻辑上分开