2015-12-22 82 views
-1

我想要的确切日期22/06/2015从查询得到今天的日期与过去6个月中回

Joining date应该确切

22/06/2015

这是精确的6 months从今天的日期回来

我试过低于

Select date_of_joining,* from emp_mst Where Dt_Of_Join >= Dateadd(Month, Datediff(Month, 0, DATEADD(m, -6, getdate())), 0) 

但它没有奏效。

这是什么确切的查询?

我使用SQL- server- 2005

+0

还好你得到了上面的查询@coder – mohan111

+0

@ mohan111结果:这是显示我'93'行,但在实际上它只是'5'行 – BNN

+0

你真的应该澄清你的问题,而不是让社区花了很多时间追求一个你甚至不确定的问题的答案。 –

回答

1

,如果你想确切的入厂日期(/ date_of_joining ..../Dt_Of_Join) 怎么样

select distinct employee.name from emp_mst where date_of_joining = DATEADD(month, -6, GETDATE()) 

,或者如果你想实际日期不同返回格式:

CONVERT(Date,DATEADD(month, -6, GETDATE()), 103) 

,如果你选择这个领域是适用

+0

不工作 – BNN

+0

你能显示实际的代码吗?或者说明你到底在做什么,并且想要 –

+0

是否将employee.name字段更改为正确的字段名称? –

1

我不是SQL Server专家,但我在这里找到了简单的答案。

尝试此链接到另一个帖子里面介绍了这个确切的问题SQL Server 2005: how to subtract 6 month

您参考字“精确”日期,所以你不需要DATEDIFF部分,你可以减去6个月当前日期使用“dateadd”,它会给你一个确切的日期。只要记得要正确地输入,否则你必须精确到毫秒。

0
SELECT employee_name 
FROM emp_mst 
WHERE Dt_Of_Join = Cast(DATEADD(month, -6, GETDATE()) As Date) 
ORDER BY Dt_Of_Join DESC 

我认为他只需要知道如何从日期除去时间

0

请注意,您需要处理时间部分有效

Select * from emp_mst 
Where 
Dt_Of_Join >= dateadd(month,-6,dateadd(day,datediff(day,0,getdate()),0) 
and 
Dt_Of_Join < dateadd(month,-6,dateadd(day,datediff(day,0,getdate()),1) 
0

你想过去6月日,以便使用dateadd()和对于你的约会对象DD/MM/YYYY你应该尝试convert(varchar(10),date,101)

Select date_of_joining,* from emp_mst Where 
Dt_Of_Join=convert(varchar(10),dateadd(month,-6,getdate()),101) 
+1

单独的代码块并不能提供很好的答案。请添加解释。 –

相关问题