用标准sql语句查询时间段的问题

zsh6709 2007-05-07 06:31:20
要查询在校时间超过三年的学生信息
(其中enter_date的格式是 2002-09-01这样的格式)

下面的语句有问题,请大家帮忙改一下?错在 'date' 不是可以识别的 函数名。
select * from students where( year( date()-year(enter_date) ) )>3
...全文
239 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
zsh6709 2007-05-07
  • 打赏
  • 举报
回复
谢谢 li_d_s
我没看出来哦~~
结帖给分
lzhcxc 2007-05-07
  • 打赏
  • 举报
回复

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

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

(1 row(s) affected)

li_d_s 2007-05-07
  • 打赏
  • 举报
回复
晕,你的括号位置错了,应该是
select * from students where( year( getdate()) - year(enter_date) >3)
zsh6709 2007-05-07
  • 打赏
  • 举报
回复
getdate() 取得当前的时间是 2007-05-07 00:00:00.000 这样的格式吧?
zsh6709 2007-05-07
  • 打赏
  • 举报
回复
虽然改成getdate() ,但还是不行啊,不知道为什么它输出了所以的学生信息,好象根本没进行筛选一样
select * from students where( year( getdate()-year(enter_date) ) >3)
xwqjamky 2007-05-07
  • 打赏
  • 举报
回复
getdate() 取得当前的日期
xwqjamky 2007-05-07
  • 打赏
  • 举报
回复
select * from students where( year( getdate()-year(enter_date) ) )>3

34,587

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧