请选择 进入手机版 | 继续访问电脑版
 找回密码
 立即注册

QQ登录

只需一步,快速开始

hami8

注册会员

3

主题

23

帖子

86

积分

注册会员

积分
86
最新发帖
hami8
注册会员   /  发表于:2025-3-15 13:27  /   查看:188  /  回复:9
如何实现根据开始日期和结束日期,算出两日期按自然月区分跨了几个期间?我试了几个方式都不行。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

9 个回复

倒序浏览
VVANVI悬赏达人认证
论坛元老   /  发表于:2025-3-15 14:24:10
沙发
本帖最后由 VVANVI 于 2025-3-15 14:25 编辑

(-year(开始日期)+year(结束日期))*12  +(-month(开始日期)+month(结束日期)) = 间隔月份数

或者用现成的 datediff 函数
回复 使用道具 举报
hami8
注册会员   /  发表于:2025-3-15 16:19:25
板凳
VVANVI 发表于 2025-3-15 14:24
(-year(开始日期)+year(结束日期))*12  +(-month(开始日期)+month(结束日期)) = 间隔月份数

或者用 ...

这个要怎样写入表格中?
回复 使用道具 举报
高小牛
注册会员   /  发表于:2025-3-15 16:52:12
地板
公式字段可以吗
回复 使用道具 举报
hami8
注册会员   /  发表于:2025-3-15 17:03:09
5#

我需要用命令一键生成到数据库里,要知道开始和结束日期,
回复 使用道具 举报
VVANVI悬赏达人认证
论坛元老   /  发表于:2025-3-15 19:43:51
6#
hami8 发表于 2025-3-15 17:03
我需要用命令一键生成到数据库里,要知道开始和结束日期,

循环呀,用服务端命令一样可以用公式 或者datediff
回复 使用道具 举报
hami8
注册会员   /  发表于:2025-3-16 09:21:23
7#
本帖最后由 hami8 于 2025-3-16 09:37 编辑
VVANVI 发表于 2025-3-15 19:43
循环呀,用服务端命令一样可以用公式 或者datediff

datediff是不行的,这个只按天数算的,这不正解。用你那公式要+1才对。这个可解决了。
但如果再加个条件,就是加上几号开始分期那又怎样算期间数?




本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
VVANVI悬赏达人认证
论坛元老   /  发表于:2025-3-16 15:11:36
8#
hami8 发表于 2025-3-16 09:21
datediff是不行的,这个只按天数算的,这不正解。用你那公式要+1才对。这个可解决了。
但如果再加个条件 ...

这你就是没有看datedif 怎么用了, 可以算年月日都行的   +1 -1 的你可以自行调整的 , 提供思路而已  ,具体怎么玩你自由发挥吧
回复 使用道具 举报
hami8
注册会员   /  发表于:2025-3-16 16:09:57
9#
VVANVI 发表于 2025-3-16 15:11
这你就是没有看datedif 怎么用了, 可以算年月日都行的   +1 -1 的你可以自行调整的 , 提供思路而已   ...

dtaedif如果2025-01-15到2025-06-20结果是5,但如果是2025-01-21到2025-06-20结果是4,这不符合,还有做判断,主要如果加个计算开始日,我就想不到怎样计算了
回复 使用道具 举报
Lay.Li悬赏达人认证 活字格认证
超级版主   /  发表于:2025-3-17 09:43:25
10#
感谢各位大佬的支持~
您的数据库中是否有存储那个日期区间是哪一期的表呢,如果有存储的话,那可以使用服务端命令,使用设置变量命令去查询一下,开始日期是哪一期,结束日期是哪一期,然后用查询出来的期数相减。边得到了两个日期相差的期数了。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部