Function Netezza获得每月第一天约会的最佳方式是什么?

Function Netezza获得每月第一天约会的最佳方式是什么?,function,netezza,sql-date-functions,Function,Netezza,Sql Date Functions,到目前为止,这是我能想到的最好的了 我也找不到一个包含所有函数的Netezza SQL的综合语言参考,因此请在您的答案中包含一个源代码。使用日期(“月”,当前日期),即 从日期开始,因为我今天需要的是使用当前日期/月份。然后查找当前月份的最后一天。这是作为系统输出的第一天的外壳: 从当前日期开始 使用add_months(-1)减去一个月 查找上个月的最后一天 加1天 然后,我决定在2月(闰年和正常)进行测试,从第一个月找到第一个,然后再加上下个月的第一个月。也检查了一个月前从31日到30日的一

到目前为止,这是我能想到的最好的了


我也找不到一个包含所有函数的Netezza SQL的综合语言参考,因此请在您的答案中包含一个源代码。

使用日期(“月”,当前日期),即

从日期开始,因为我今天需要的是使用当前日期/月份。然后查找当前月份的最后一天。这是作为系统输出的第一天的外壳:

  • 从当前日期开始
  • 使用add_months(-1)减去一个月
  • 查找上个月的最后一天
  • 加1天
  • 然后,我决定在2月(闰年和正常)进行测试,从第一个月找到第一个,然后再加上下个月的第一个月。也检查了一个月前从31日到30日的一个月。我认为这应该是灵活的

    Select to_date(to_char(date_part('year',current_date),'0000') || trim(to_char(date_part('month',current_date),'00')) || '01','YYYYMMDD')
    
    select current_date, 
        last_day(add_months(current_date,-1))+1 as firstdt_currmos,
        last_day(current_date) as lastdt_currmos
    ;
    
    select last_day(add_months('02-29-2016',-1))+1 as firstdt_febleap,
        last_day(add_months('02-28-2019',-1))+1 as firstdt_febnorm,
        last_day(add_months('07-01-2019',-1))+1 as firstdt_first,
        last_day(add_months(current_date,-1))+1 as firstdt_currmos,
        last_day(current_date)+1 as firstdt_nextmos,
        last_day(add_months('07-31-2019',-1))+1 as firstdt_mos31st,
    
        date(add_months('07-31-2019',-1)) as mosago_31st,
        date(add_months('06-30-2019',-1)) as mosago_30th
    
    ;