我在一个金融项目中工作,我需要计算欠款天数的差额。如果我使用mysql的datediff()方法,那么它将返回基于365天的结果。我需要360天的结果。如果使用以下sql查询
select datediff('20140908','20130908') from dual;mysql返回日期差异365。这是实际的日期差异,但在会计/财务计算中,差异恰好是一年(360天)。这就是我想要的。结果应该是360而不是365。目前我想使用美国标准。
发布于 2018-11-17 00:28:39
日期=起始日期编辑=终止日期
计算两个日期之间的天数,考虑到一个月是30天,一年是360天,并检查日期是否在月底,例如从1.1.2019到28.2.2019 = 60天等。
对于1个月或1年,更新日期应在前一天,因此1.1 - 31.1 = 30天,1.1 - 1.2 = 31天
SELECT最大( 0,(年(DATE_ADD(编辑,间隔1天))-年(日期))* 360 +(月(DATE_ADD(编辑,间隔1天))-月(日期))* 30 +(IF(日期)(DATE_ADD(编辑,间隔1天)=DAYOFMONTH(LAST_DAY(DATE_ADD(编辑,间隔1天)),30,DAYOFMONTH(DATE_ADD(edate,间隔1天))-IF(DAYOFMONTH(日期)=DAYOFMONTH(LAST_DAY(日期)),30,DAYOFMONTH(日期) )
https://stackoverflow.com/questions/25719478
复制相似问题