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日

悬赏问题

  • ¥100 嵌入式系统基于PIC16F882和热敏电阻的数字温度计
  • ¥15 cmd cl 0x000007b
  • ¥20 BAPI_PR_CHANGE how to add account assignment information for service line
  • ¥500 火焰左右视图、视差(基于双目相机)
  • ¥100 set_link_state
  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化
  • ¥15 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号
  • ¥15 基于单片机的靶位控制系统