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日

悬赏问题

  • ¥15 C++ yoloV5改写遇到的问题
  • ¥20 win11修改中文用户名路径
  • ¥15 win2012磁盘空间不足,c盘正常,d盘无法写入
  • ¥15 用土力学知识进行土坡稳定性分析与挡土墙设计
  • ¥70 PlayWright在Java上连接CDP关联本地Chrome启动失败,貌似是Windows端口转发问题
  • ¥15 帮我写一个c++工程
  • ¥30 Eclipse官网打不开,官网首页进不去,显示无法访问此页面,求解决方法
  • ¥15 关于smbclient 库的使用
  • ¥15 微信小程序协议怎么写
  • ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?