博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
sqlserver 算两个日期间的月份数
阅读量:5967 次
发布时间:2019-06-19

本文共 753 字,大约阅读时间需要 2 分钟。

create  FUNCTION f_GetRentalMonths_double(@StartDate DATETIME ,@EndDate DATE)  RETURNS DECIMAL(10,4)    AS  BEGIN    DECLARE @DiffMonths  DECIMAL(10,4) ,           @DiffDays INT ,          @BuZuMonths  DECIMAL (10,4)  SET @DiffMonths=CAST(0 AS DECIMAL(10,4))  while(@EndDate>=DATEADD(DAY,-1,DATEADD(MONTH,1,@StartDate)))  begin  SET @DiffMonths=@DiffMonths+CAST(1 AS DECIMAL(10,4))  SeT @StartDate=DATEADD(MONTH,1,@StartDate)  end  --不足月天数  SET @DiffDays = DATEDIFF(DAY,@StartDate,@EndDate) + 1 --不足月天数/月天数,得到月份数  SET @BuZuMonths=round( CAST(@DiffDays AS DECIMAL(10,2))/(CAST(365 AS DECIMAL(10,2))/CASt(12 AS DECIMAL(10,2))),4)  SET @DiffMonths=@DiffMonths+@BuZuMonths      RETURN   @DiffMonths END  GO

 

转载于:https://www.cnblogs.com/gyjjyg/p/10188611.html

你可能感兴趣的文章
HTML5标签的语义认知和理解(1)
查看>>
MySQL日志功能详解(2)
查看>>
HP LaserJet 305X 和 339X 系列一体机如何设置手动或自动接收传真?
查看>>
linux之权限之隐藏权限
查看>>
XDCTF成长记录
查看>>
Linux系统中的文本处理工具
查看>>
IDE---Python IDE之Eric5在window下的安装
查看>>
Mybatis调用Oracle中的存储过程和function
查看>>
telnet :No route to host
查看>>
基本安装lnmp环境
查看>>
yum源资料汇总
查看>>
7、MTC与MTV,http请求介绍
查看>>
logstash消费阿里云kafka消息
查看>>
第四节课作业
查看>>
EasyUI Calendar 日历
查看>>
unix 环境高级编程
查看>>
为数据库建立索引
查看>>
第二周作业-软件工作量的估计
查看>>
MAXIMO 快速查找实现
查看>>
Oracle——条件控制语句
查看>>