如何计算两个日期相差月份?

hsmjwen 2010-10-16 01:30:31
如何计算两个日期相差月份

比如

2010 - 1 - 1
2011 - 1 - 1

结果是12个月。..


该如何计算呢?
...全文
779 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
redspr 2010-10-19
  • 打赏
  • 举报
回复
楼上很详细啊,呵呵
redspr 2010-10-19
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 yangxiao_jiang 的回复:]

timestampdiff
[/Quote]

values TIMESTAMPDIFF(64,CHAR(date('2011-01-1') - date('2010-01-01')))
WWWWA 2010-10-19
  • 打赏
  • 举报
回复
timestampdiff (<n>, char(
timestamp('2010-1-1-00.00.00')-
timestamp('2011-1-1-00.00.00')))

对于 <n>,可以使用以下各值来替代,以指出结果的时间单位:

1 = 秒的小数部分
2 = 秒
4 = 分
8 = 时
16 = 天
32 = 周
64 = 月
128 = 季度
256 = 年
当日期很接近时使用 timestampdiff() 比日期相差很大时精确。如果需要进行更精确的计算,可以使用以下方法来确定时差(按秒计):
(DAYS(t1) - DAYS(t2)) * 86400 +
(MIDNIGHT_SECONDS(t1) - MIDNIGHT_SECONDS(t2))
冷水鲑 2010-10-18
  • 打赏
  • 举报
回复
我处理的办法:values (year(Date('2010-12-01'))*12+month(Date('2010-12-01')))-(year(current timestamp)*12+month(current timestamp))
ACMAIN_CHM 2010-10-16
  • 打赏
  • 举报
回复
hsmjwen 2010-10-16
  • 打赏
  • 举报
回复
具体如何用呢
yangxiao_jiang 2010-10-16
  • 打赏
  • 举报
回复
timestampdiff

5,891

社区成员

发帖
与我相关
我的任务
社区描述
IBM DB2 是美国IBM公司开发的一套关系型数据库管理系统,它主要的运行环境为UNIX(包括IBM自家的AIX)、Linux、IBM i(旧称OS/400)、z/OS,以及Windows服务器版本
社区管理员
  • DB2
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧