1. 苏葳的备忘录首页
  2. 编程

Sybase数据库中取当前月的最后一天

sybase dateadd到底是sql,没有通用程序语言那么多方便的函数,在Sybase sql中,如何取当月的最后一天?比如你要写一个月底处理报表的过程,需要获取本月月末的日期,但月末有可能是28、29、30、31日。方法一是利用字符串操作。流程如下:当前日期增加一个月,转化为8位日期串,取前6位,用字符串连接增加‘01’,即变为下月第一天,最后把此日期再减去一天,即为本月最后一天。

select dateadd(day,-1,substring(convert(varchar(8),dateadd(month,1,getdate()),112),1,6)+'01')

另一种方法不需字符串操作:

dateadd(dd, 0 - datepart(dd,dateadd(month,1,getdate())), dateadd(month,1,getdate()))

此方法流程:将当前日期增加1个月,取出下个月当天的天数,用下月当天减去下月当天的天数,即下月当天是1月28号的话就减去28,自然得到12月31号这个月末日期。

原创文章,作者:苏葳,如需转载,请注明出处:https://www.swmemo.com/528.html

发表评论

邮箱地址不会被公开。 必填项已用*标注