.Net / SQL Server:比较日期(datetime< - > datetime,datetime< - > varchar)

时间:2016-05-22 13:50:13

标签: sql asp.net sql-server-2008 datetime

我在两个项目中有两个问题,都与日期时间有关。

项目1

日期在SQL Server 2008数据库中保存为mainStyles,但yyyy/MM/dd返回System.DateTime.Now.ToShortDateString()。作为内联代码编写的SQL查询无法比较两个日期。我尝试了dd/MM/yyyyParseExactCAST以及许多其他选项,但无法使其发挥作用。

项目2

在SQL Server 2008数据库中,datetime保存在Convert列中。即使在尝试了很多选项后,使用varchar(50)子句也无法通过内联SQL查询。

注意:我在前端和后端使用快速版本。

请帮助两者。提前谢谢。

2 个答案:

答案 0 :(得分:-1)

使用.NET中的任何DateTime,您可以在tostring函数中提供日期时间格式。这样,您可以强制将Datetime的格式设置为与SQL Server相同以进行比较。

答案 1 :(得分:-1)

项目1:解决方案

您可以将日期格式转换为以下格式:

select convert(varchar,dateadd(MI, 330, GETUTCDATE()),111)

输出: 2016/05/22

项目2:解决方案

而不是使用between,您可以使用以下查询进行搜索

select * from yourtablename
where (datecolumn>=convert(varchar,dateadd(MI, 330, GETUTCDATE()),111) and 
datecolumn<=convert(varchar,dateadd(MI, 330, GETUTCDATE()),111))

试着让我知道,该死的确定它会起作用..

问候: ķ