2014-10-31 109 views
0

enter image description here檢查日期是否屬於本年度的日期範圍在SQL

假設我有一個輸入開始日期爲「2014年1月1日」,並輸入結束日期爲「31/01/2014」。我需要檢查輸入開始日期和輸入結束日期是否在突出記錄中。在突出顯示的記錄中,我有兩列月,從月到。其中從12月到2月。但在我的表中沒有提到年份。我需要承擔當年,但如果我把當年那麼我的查詢失敗

SELECT * FROM tablename WHERE dateformatted BETWEEN '01/12/2014' AND '28/02/2014' 

如果我把結束日期爲明年再還我的查詢失敗

SELECT * FROM tablename WHERE dateformatted BETWEEN '01/12/2014' AND '28/02/2015'. 

假設我格式化高亮細節如上查詢然後我可以c heck輸入日期落在日期範圍內。在檢查輸入日期落在突出顯示的記錄中後,我需要使用周的週數從周到列。如果我使用此查詢 SELECT * FROM tablename WHERE dateformatted BETWEEN '01/12/2014' AND '28/02/2015'。 然後會得到錯誤的結果,因爲weekfrom在今年和明年會有所不同。

想我這樣使用 SELECT * FROM tablename WHERE dateformatted BETWEEN '01/12/2014' AND '28/02/2014'。再次查詢,因爲我檢查十二月到目前year.Please二月幫助我,我需要檢查兩個條件

  1. 我是否不會得到預期的結果輸入日期落在突出顯示的記錄中
  2. 計算突出顯示的記錄中的天數周從周至保留考慮因素。
  3. 星期和星期可能也是相反的順序,也可以是星期六到星期日(7到1)。我們還需要計算工作日的數量。

回答

0

而不是使用這個的:

SELECT * FROM tablename WHERE dateformatted BETWEEN '01/12/2014' AND '28/02/2014' 

使用此:

SELECT * FROM tablename WHERE dateformatted BETWEEN #01/12/2014# AND #28/02/2014# 
+0

以上查詢是給錯誤的附近有語法錯誤 '#'。 – user2211918 2014-10-31 06:45:30

+0

啊,我明白了。你正在使用varchar作爲日期字段? – FortMauris 2014-10-31 06:48:42