【发布时间】:2013-02-21 20:43:26
【问题描述】:
我正在使用 VB.net 构建 SQL 查询
dateFrom As Date ... '02/21/2013
sqlQuery.add(“ HAVING MIN(DATEADD(HOUR, 2, columnDate)) >= ” + myDate)
MyDate 格式是“MM/dd/YYYY”(2013 年 2 月 21 日),但是当我添加到 sqlQuery 字符串时,我得到了这种格式“dd/MM/YYYY”(21/02/2013)。这会导致 SQL 查询失败
为什么日期转换为“ToString”时会改变日期格式?
注意事项
- 我无法在查询中使用参数
- 框架 2.0
- SQL 服务器
【问题讨论】:
-
如果可能,不要通过连接字符串来创建 SQL,而是使用一些 ORM(如 Entity Framework)。如果你不能这样做,那么至少使用参数化查询,它将解决这个问题和许多其他问题。
-
myData的数据类型是什么?如果是
DateTime,那么它就没有格式——它是二进制的。 -
约翰,myDate 是
Date类型。 -
如果您希望
columnDate上的索引有机会被使用,请将MIN(DATEADD(HOUR, 2, columnDate)) >=更改为DATEADD(HOUR, 2, MIN(columnDate)) >=
标签: .net sql vb.net date .net-2.0