首页 > 数据库 >SQL Server 时间算差值-年限

SQL Server 时间算差值-年限

时间:2022-11-14 13:33:52浏览次数:45  
标签:10 00 01 DATEDIFF decimal Server 差值 SQL 2020

项目中需要计算使用年限,按月份算。刚开始踩了坑,不足1年应该按1年算。记录下~

 

和当前时间比较,用DATEDIFF函数DateDiff(month,比较的时间,getdate())先算出月份,再除以12算年份

查看代码

--月份差值 2.083333
select CONVERT(decimal,DATEDIFF(MONTH,'2020-10-01 00:00:00',GETDATE()))/12 as MonthDiff
go


这里的分母不转Decimal是6位小数,不知道为什么,有知道的大神可以给我解疑下

查看代码
 --月份差值 2.0833333333333333333
select CONVERT(decimal,DATEDIFF(MONTH,'2020-10-01 00:00:00',GETDATE()))/CONVERT(decimal,12) as MonthDiff
go

 

用ceiling函数向上取整,这里注意需要先转Decimal类型才能计算

查看代码
 --未转decimal,向上取整 =2
select ceiling(DATEDIFF(MONTH,'2020-10-01 00:00:00',GETDATE())/12) as CusYear
go
--转decimal再向上取整 =3
select ceiling(CONVERT(decimal,DATEDIFF(MONTH,'2020-10-01 00:00:00',GETDATE()))/12) as CusYear
go

最终算出2020-10-01到现在,年限3年,Over~

标签:10,00,01,DATEDIFF,decimal,Server,差值,SQL,2020
From: https://www.cnblogs.com/youyoufei/p/16888739.html

相关文章

  • TDSQL携手金蝶云·苍穹,发布“国产数据库联合解决方案”
    11月11日,腾讯云数据库与金蝶云·苍穹发布“国产数据库联合解决方案”,腾讯云数据库全面支持苍穹平台的技术与应用设计,通过一体化的“PaaS+SaaS”解决方案,一站式解决企业国......
  • Windows Server 标准版和数据中心版的区别
    背景年底了要做预算采购一些WindowsServer的License,WindowsServer2022的数据中心版和标准版的价格差了6倍。因之前虚拟化平台上的WindowsServer模板用的都是数据中心版,......
  • sqlserver数据库 去除字段中空格,换行符,回车符
    使用REPLACE函数:特殊字符在SqlServerManagementStudio查询中显示为空格,但实际不是空格。在C#中能清晰的看到类似:\r\n的字符.​SQL中可以使用Replace函数来对某个字段里的......
  • Flask 学习-95.Flask-SQLAlchemy 查询今天当天的数据
    前言查询今天的数据,或者查询某一天的数据SQLDATE()function使我们能够从特定的历史或当前时间戳值访问日期值。DATE()函数Date()函数返回从传递的datetime表达式中提......
  • MySQL 是怎么加行级锁的?为什么一会是 next-key 锁,一会是间隙锁,一会又是记录锁?
    大家好,我是小林。是不是很多人都对MySQL加行级锁的规则搞的迷迷糊糊,一会是next-key锁,一会是间隙锁,一会又是记录锁。坦白说,确实还挺复杂的,但是好在我找点了点规律,也知......
  • sql操作语句
     1:创建数据库createdatabase数据库名2:createdatabase数据库名称on(name=数据库,filename='数据库路径')3:查看数据库sp_helpdb 数据库名4:表操作use......
  • docker 部署code-server
    1.创建一个存放配置的目录mkdir-p~/.config/code-server2.拉取最新codeserver镜像dockerpullcodercom/code-server:latest3.启动容器配置宿主机挂载点do......
  • Install MySQL wsl2
    ToinstallMySQLonWSL(ie.Ubuntu):OpenyourWSLterminal(ie.Ubuntu).UpdateyourUbuntupackages:sudoaptupdateOncethepackageshaveupdated,install......
  • 4.docker mgr(mysql8.0.27)多机多节点搭建
    1.环境准备(已关闭防火墙和selinux)1.1服务器列表 1.2修改3台服务器的hosts文件,否则会报错解析不到node1,原因参考(https://www.cnblogs.com/zhangdapangzo/......
  • sql
    1、所有买家各消费行为对比#去除重复的购买行为的数据,避免刷单行为selectactfrom(selectcount(user_id)actfromuser_logwhereaction='0'unionallselectco......