m0_67597520 2022-03-16 18:19 采纳率: 86.4%
浏览 60
已结题

SQL中select的简单运用简单运用

stu表中年龄在18-20之间的学生记录。

注意: 计算年龄时以年计算,不考虑出生月份。假定当前日期为‘2020-03-01'。

提示:MSSQLServer 评测SQL语句。

  • 写回答

2条回答 默认 最新

  • DarkAthena ORACLE应用及数据库设计方案咨询师 2022-03-16 20:32
    关注

    sqlserver中,可以用datediff函数来计算时间差,第一个参数是需要返回值的度量单位,比如年、月、日等,后两个参数就是要计算时间差的时间了。

    create table test_20220316_a
    (sno VARCHAR(10),sname VARCHAR(10),sex int,mno VARCHAR(10),birdate datetime,memo VARCHAR(10));
    insert into test_20220316_a values ('S001' ,'ZS' ,1 ,'01' ,'2001-10-01 00:00:00' ,'2' ) 
    
    select sno,sname,sex,mno, datediff(year,birdate,'2020-03-01 00:00:00') 年龄,memo 
    from test_20220316_a a where datediff(year,birdate,'2020-03-01 00:00:00') between 18 and 20
    

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 3月24日
  • 已采纳回答 3月16日
  • 创建了问题 3月16日