2017-03-09 175 views
0

存在像這樣的表格中的日期列表。在日期列中,它計算並存儲FromDate和ToDate之間的日期。檢查給定的日期是否在varchar日期列表中

enter image description here

我創建了一個功能,合併所有日期和返回日期爲這樣一個varchar值的列表。

enter image description here

DECLARE @s VARCHAR(MAX) 

Select @s=COALESCE(@s + ',','')+LeaveDates 
from LeaveRequest where EmpId=1154 
and Date >= DATEADD(month, -5, GETDATE()) 

IF '10-03-2017' in (@s) 
print 'Yes' 
else 
print 'No' 
print @s 

結果

沒有

'19 -10-2016' , '2017年8月3日','09 -03-2017' ,'10 -03-2017','11 -03-2017'

DECLARE @s VARCHAR(MAX) 

Select @s=COALESCE(@s + ',','')+LeaveDates 
from LeaveRequest where EmpId=1154 
and Date >= DATEADD(month, -5, GETDATE()) 

IF '10-03-2017' in ('19-10-2016','08-03-2017', '09-03-2017', '10-03-2017', '11-03-2017') 
print 'Yes' 
else 
print 'No' 
print @s 

結果

'19 -10-2016' , '2017年8月3日','09 -03-2017' ,'10 -03-2017' ,'11 -03-2017 '

它沒有給出該功能所需的結果。

任何幫助將非常感激。

+0

那豈不是更容易檢查日期是沒有fromdate和todate之間? – Linkan

+0

如何編寫查詢?我無法找到一種方式..這就是爲什麼我這樣試圖.. –

+0

你需要什麼結果? –

回答

3

試試這個: -

如果你想檢查FromDate之間的日期ToDate你可以試試這個:

WHERE DATE BETWEEN FromDate and ToDate 
相關問題