最近接手了个sql server的数据库,开始在DG写代码优化的时候发现连接的数据库版本居然不一样,一个是2008一个是2019,有很多函数不通用,其中就有EOMONTH,所以就只能在老版本里实现相应的function了:

CREATE FUNCTION [dbo].[EOMONTH](@date DATETIME,@scal TINYINT)
RETURNS DATETIME AS
BEGINDECLARE @monthfinal DATETIME;SET @monthfinal = DATEADD(MONTH,@scal,@date);IF MONTH(@monthfinal) IN (1,3,5,7,8,10,12)BEGINSET @monthfinal = CAST(YEAR(@monthfinal) AS VARCHAR) + '-' + CAST(MONTH(@monthfinal) AS VARCHAR) + '-' + '31';ENDIF MONTH(@monthfinal) IN (4,6,9,11)BEGINSET @monthfinal = CAST(YEAR(@monthfinal) AS VARCHAR) + '-' + CAST(MONTH(@monthfinal) AS VARCHAR) + '-' + '30';ENDIF MONTH(@monthfinal) = 2BEGINIF YEAR(@monthfinal) % 4 = 0BEGINSET @monthfinal = CAST(YEAR(@monthfinal) AS VARCHAR) + '-' + CAST(MONTH(@monthfinal) AS VARCHAR) + '-' + '28';ENDELSEBEGINSET @monthfinal = CAST(YEAR(@monthfinal) AS VARCHAR) + '-' + CAST(MONTH(@monthfinal) AS VARCHAR) + '-' + N'29';ENDENDSET @monthfinal = CAST(@monthfinal AS DATETIME)RETURN @monthfinal;
END;

实际上只是简单做了个月份上的判断,直接拼上最后一天的数字,小工具还是蛮实用的

sql server2008 R2日期函数返回当月最后一天相关推荐

  1. SQL Server2008 R2下载及安装

    SQL server2008 R2安装过程并不难,网上都有安装图解教程.下载过程找到很久的安装包,所以这里给一个下载地址,避免大家浪费时间在这上面.下列为下载链接地址: http://www.pans ...

  2. 帆软中的日期函数,当月第一天,当年第一天,当月最后一天等

    常用举例: 当年第一天:DATEINYEAR(TODAY(), 1) 当年最后一天:DATEINYEAR(TODAY(), -1)当月第一天:DATEINMONTH(TODAY(),1) 当月最后一天 ...

  3. SQL Server 常用日期函数的运用

    1.对SQL Server 日期函数的应用,本文主要的内容是如何获取下面的相关日期 本周星期一 本月第一天 本季度第一天 本年第一天 本周第一天 本月最后一天 本季度最后一天 本年最后一天 本周最后一 ...

  4. create报错不是函数_各种SQL中关于日期函数的那些事(建议收藏)

    hive.presto.spark.impala.mysql常用日期时间函数吐血整理 使用的SQL多了不知道大家有没这样的困惑,SQL的语法在大多数方面是一致的,如SELECT,JOIN,GROUP ...

  5. SQL数据库中日期函数

    SQLServer时间日期函数详解 1.  当前系统日期.时间 select getdate() 2. dateadd      在向指定日期加上一段时间的基础上,返回新的 datetime 值 例如 ...

  6. sqlserver 返回当月最后一天,上个月最后一天,下个月最后一天

    select eomonth('20211118');  --返回指定日期当月最后一天 select eomonth('20211118',1)  --返回指定日期下个月的最后一天 select eo ...

  7. 【Hive SQL】常用日期函数汇总

    目录 时间戳和日期相互转换函数: unix_timestamp :日期格式转换成时间戳 from_unixtime :时间戳转换成日期格式函数 current_timestamp: 获取当前的时间戳 ...

  8. sql基本的日期函数

    -- 日期函数-- NOW()返回当前时间 SELECT NOW();-- CURDATE()返回系统当前日期,不包含时间 SELECT CURDATE();-- CURTIME()返回系统当前时间, ...

  9. 判断日期是否为当月最后一天_对比Excel,怎么用Python获取指定月最后一天的日期...

    这是群友的一个需求.他想根据一个给定的日期,获取该给定日期在这个年月的最后一天的日期,并且要求在Python中怎么做.基于此,我就想到了对比Excel,在Python中完成这个需求. Excel完成这 ...

最新文章

  1. 彻底解决 gcr、quay、DockerHub 镜像下载难题!
  2. Linux 系统之软件管理
  3. POJ 1195 Mobile phones(裸的二维树状数组)
  4. ThinkPHP框架知识的注意点
  5. 导入安全证书到jdk
  6. STS安装 activiti-designer-5.18.0插件
  7. linux c 封装redis,封装hiredis——C++与redis对接(一)(string的SET与GET操作)
  8. android.mk 编译jar包,Androidmk 使用详解
  9. java uml eclipse_eclipse uml 工具
  10. IntelliJ IDEA 下载安装以及破解码大集合
  11. c语言万年历查询程序代码,C语言实现万年历程序的代码分享
  12. word文档中向下的箭头是什么,怎么去掉
  13. C# wpf确认取消MessageBox选择按钮
  14. MAVEN配置之SETTING配置
  15. 筛选两张表中id不同的数据
  16. linux之shell语言
  17. 烧写android到开发板,烧写开发板_RZMars的技术博客_51CTO博客
  18. cmake学习笔记 二
  19. Direct3D 10系统(二)
  20. 网络中国象棋小游戏的实现

热门文章

  1. 如何判断访问中的网站是否安全?
  2. PS快速画横线竖线斜线
  3. linux centos查看用户列表,查看centos中的用户和用户组_Centos查看系统中用户和用户组的方法...
  4. linux485串口发送状态,RS485自动方向切换模式
  5. Linux定时同步时间
  6. STM32程序正常烧录后不能运行的可能原因(关于新旧CUBE的型号问题)
  7. 选择什么电容笔比较好,适合女生的电容笔
  8. 【原】我是超级收银员,你敢来挑战吗
  9. MTK之NVRAM研究[一]
  10. vue 微信录音倒计时_vue中倒计时的用法