日期:2014-05-18  浏览次数:20559 次

用标准sql语句查询时间段的问题
要查询在校时间超过三年的学生信息
(其中enter_date的格式是   2002-09-01这样的格式)

下面的语句有问题,请大家帮忙改一下?错在   'date '   不是可以识别的   函数名。
select   *   from   students   where(   year(   date()-year(enter_date)   )   )> 3

------解决方案--------------------
select * from students where( year( getdate()-year(enter_date) ) )> 3

------解决方案--------------------
晕,你的括号位置错了,应该是
select * from students where( year( getdate()) - year(enter_date) > 3)
------解决方案--------------------

select datediff(year, '2005-01-02 ', getdate())

--result
-----------
2

(1 row(s) affected)