查询以获取日期,月份和年份之间的数据

时间:2014-05-20 09:25:10

标签: sql sql-server

我的设计有两个文本框和一个日历。我想写一个查询来选择日期范围,例如从19/03/2014到03/05/2014。我的日期是从日历中选择的,它将填写txtsearch.Text和txtsearch2.Text。

我知道查询以获取两个日期之间的日期,但我如何继续查询以获取不同日期,月份和年份之间的数据范围?

以下是我在两个日期之间获取日期的查询:

SELECT * FROM mytable 
WHERE CONVERT(VARCHAR(10),enq_date_time,103) BETWEEN 
                   CONVERT(VARCHAR(10),'" & txtsearch.Text.Trim & "',103) 
               AND CONVERT(VARCHAR(10),'" & txtsearch2.Text.Trim & "',103)

2 个答案:

答案 0 :(得分:1)

您可以使用datediff计算月数或年数

select 'Months', datediff(month, '2012-08-23 18:45', '2014-02-01 14:30')
union
select 'Years', datediff(year, '2012-08-23 18:45', '2014-02-01 14:30');

SQLFiddle

答案 1 :(得分:0)

"SELECT * FROM mytable 
WHERE YEAR(enq_date_time) BETWEEN " & txtYearInitial.Text.Trim & " AND " & txtYearFinal.Text.Trim;