2015-12-22 89 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

單獨的代碼塊並不能提供很好的答案。請添加解釋。 –

相關問題