我正在使用VB.net构建SQL查询
dateFrom As Date ... '02/21/2013
sqlQuery.add(“ HAVING MIN(DATEADD(HOUR, 2, columnDate)) >= ” + myDate)
MyDate格式为“MM / dd / YYYY”(02/21/2013),但是当我添加到sqlQuery字符串时,我得到了这种格式“dd / MM / YYYY”(2013年2月21日)。这会导致SQL查询失败
为什么在日期转换为“ToString”时更改日期格式?
考虑
答案 0 :(得分:5)
MyDate格式为“dd / MM / YYYY”
目前尚不清楚你的意思是什么,但我怀疑你对DateTime
总体上有点困惑。 DateTime
不会拥有格式,而不是{比例} int
。如果您从十六进制解析int
然后将其转换为字符串,则默认情况下将其格式化为十进制 - 值只是一个数字。日期和时间的工作方式相同。
为什么在日期转换为“ToString”时更改日期格式?
它没有“改变” - 事先并不存在。
幸运的是,无论如何你不应该这样做。相反,您应该使用参数化SQL,并将myDate
设置为命令参数。您应该对SQL命令中的所有值执行此操作。那样: