过帐日期发票的日期逻辑

时间:2017-02-17 14:15:57

标签: sql-server-2008 date logic case

此网站的新用户,因此在提问时尽量按照说明操作。我正在创建一份报告,并且遇到了一个日期问题,我必须将其称为“发布日期”。如果发票日期是25日或之前,则该日期应在报表中作为发票月份的25日返回。如果发票日期是在当月25日之后,我需要过期以反映下个月的25日。我一直在尝试案例陈述,但没有运气。

这是我目前使用的一行:

def my_parse(self, response): 
    print self.crawler.stats.get_stats()

例如,如果我的发票日期是2/17/07,我希望发布日期为2/25/17,但如果发票日期是2/26/17,我希望发布日期为3/25 / 17。在此先感谢您的帮助。尝试执行此操作时出现转换错误。我正在使用SQLServer 2008 R2。谢谢!

1 个答案:

答案 0 :(得分:0)

下面的查询应该会给你预期的结果。

SELECT case 
    when (DAY(CT.HLSINVOICEDATE) < 26)
        then CAST(Month(CT.HLSINVOICEDATE)as varchar(2)) + '/25/' + CAST(Year(CT.HLSINVOICEDATE) as varchar(4))
    else CAST((Month(CT.HLSINVOICEDATE)+1 )as varchar(2)) + '/25/' + CAST(YEAR(CT.HLSInvoiceDate) as varchar(4))
    end as [Post Date]