显示计算机系年龄在23岁以上的同学姓名,性别;有student,sc,source,department表,年龄需要计算,只告诉出生年月,我编的如下:(但就是筛选不出23岁的,总是把全部的都显示出来了)
declare @stu_datetime int
declare @diffyear int
select datediff(year,student_birthday,getdate()),
student_name,
student_gender=(case when student_gender= 0 then '男' when student_gender=1 then'女' end),
student_birthday=(datediff(year,student_birthday,getdate()))
from student
where student_birthday>23

解决方案 »

  1.   

    select name
    from student
    where datediff(year,birthday,getdate())>23
      

  2.   

    declare @stu_datetime int
    declare @diffyear int
    select datediff(year,student_birthday,getdate()),
    student_name,
    student_gender=(case when student_gender= 0 then '男' when student_gender=1 then'女' end),
    student_birthday=(datediff(year,student_birthday,getdate()))
    from student
    --where student_birthday>23
    where datediff(year,student_birthday,getdate())>23