Zealotlies 2023-02-03 17:02 采纳率: 0%
浏览 28

sql语句!PTA习题遇到的疑问

在做题(PTA)的时候有一题 求年龄用了

year(now())-year(SBdate)

会显示答案出错,换成

timestampdiff(year,SBdate,now())

就对了,请问一下是什么原因

还有就是groupby 和avg 一起用的时候也有错误,所以我改成下面的做法就对了

img

  • 写回答

1条回答 默认 最新

  • 快撑死的鱼 2023-02-04 02:04
    关注

    回答不易,求求您采纳点赞哦

    YEAR(now())-YEAR(SBdate) 这种方式计算年龄的结果是不精确的,因为它只是把当前日期的年份与出生日期的年份相减得到的结果。

    而TIMESTAMPDIFF(YEAR,SBdate,NOW()) 这种方式更精确,因为它能计算出出生日期与当前日期相差的完整年份数。因此第二种方式更适合求年龄。

    评论

报告相同问题?

问题事件

  • 创建了问题 2月3日

悬赏问题

  • ¥15 系统 24h2 专业工作站版,浏览文件夹的图库,视频,图片之类的怎样删除?
  • ¥15 怎么把512还原为520格式
  • ¥15 MATLAB的动态模态分解出现错误,以CFX非定常模拟结果为快照
  • ¥15 求高通平台Softsim调试经验
  • ¥15 canal如何实现将mysql多张表(月表)采集入库到目标表中(一张表)?
  • ¥15 wpf ScrollViewer实现冻结左侧宽度w范围内的视图
  • ¥15 栅极驱动低侧烧毁MOSFET
  • ¥30 写segy数据时出错3
  • ¥100 linux下qt运行QCefView demo报错
  • ¥50 F1C100S下的红外解码IR_RX驱动问题