-
-
木子熙 初学数据Lv2
发表于2021-1-4 13:49
悬赏1
已解决
木子熙 发表于 2021-1-4 14:31
月份差的话,month就能做到,但是我需要的是保留小数的那种,orcale的months_between那种,比如20201101到 ...
并没有,这个需要您自己在sql中计算好了取到报表中展现
5个回答
本帖最后由 xxxl 于 2021-1-4 14:08 编辑
可以先用LISTMONTHS函数求一下两个日期之间的所有月份列表,然后用数组对象中length属性的返回数组长度就能得到中间差的月份了
定义
LISTMONTHS (D1,D2)
返回一个数组,数组元素是两个日期之间的月份列表。第一个数组元素为D1,第二个数组元素在D1的基础上月份加1,依此类推直到生成的日期超过D2为止。
参数
D1,D2
日期。可以为以下格式:#20050101#,#2005-01-01#,'20050101','2005-01-01',#2005/01/01#,#2005年01月01日#
示例
LISTMONTHS(#20050101#,#20050601#) 返回 [#20050101#,#20050201#,#20050301#,#20050401#,#20050501#,#20050601#]
LISTMONTHS(#20100521#,#20100630#) 返回 [#20100521#,#20100621#]
注意
该函数仅为内存计算函数,不能用于数据库计算,函数参数中不能有 主题表字段
数组对象帖子https://bbs.esensoft.com/thread-133624-1-1.html
像这样
xxxl 发表于 2021-1-4 14:02
可以先用LISTMONTHS函数求一下两个日期之间的所有月份列表,然后用数组对象中length属性的返回数组长度就能 ...
月份差的话,month就能做到,但是我需要的是保留小数的那种,orcale的months_between那种,比如20201101到20201212是1.35个月
木子熙 发表于 2021-1-4 14:31
月份差的话,month就能做到,但是我需要的是保留小数的那种,orcale的months_between那种,比如20201101到 ...
并没有,这个需要您自己在sql中计算好了取到报表中展现