【发布时间】:2016-09-19 09:39:18
【问题描述】:
我在两个项目中有两个问题,都与日期时间有关。
项目 1:
日期在 SQL Server 2008 数据库中保存为yyyy/MM/dd,但System.DateTime.Now.ToShortDateString() 返回dd/MM/yyyy。作为内联代码编写的 SQL 查询无法比较两个日期。我尝试了ParseExact、CAST、Convert 和许多其他选项,但无法让它发挥作用。
项目 2:
在 SQL Server 2008 数据库中,日期时间保存在 varchar(50) 列中。即使在尝试了很多选项后,使用 Between 子句也无法通过内联 SQL 查询。
注意:我在前端和后端使用快速版本。
请在这两个方面提供帮助。提前致谢。
【问题讨论】:
-
如果您要存储日期和时间,请勿使用
varchar(50)!!干净利落。使用适当的数据类型——DATE,如果您只需要日期(没有时间),或者DATETIME2(n),如果您需要日期和时间部分。 -
"在 SQL Server 2008 数据库中,日期时间保存在 varchar(50) 列中。" - 你到底为什么会?认真的。
标签: sql asp.net sql-server-2008 datetime