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

Posted

技术标签:

【中文标题】Netezza 获得每月第一天约会的最佳方式是啥?【英文标题】:Netezza What is the best way to get the first day of the month for a date?Netezza 获得每月第一天约会的最佳方式是什么? 【发布时间】:2017-08-04 16:57:01 【问题描述】:
Select to_date(to_char(date_part('year',current_date),'0000') || trim(to_char(date_part('month',current_date),'00')) || '01','YYYYMMDD')

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

我也找不到包含所有功能的 Netezza SQL 的综合语言参考,因此请在您的答案中提供来源。

【问题讨论】:

【参考方案1】:

使用 date_trunc('month', current_ date),即documented here。

【讨论】:

【参考方案2】:

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

    从当前日期开始 使用 add_months (-1) 减去一个月; 查找上个月的最后一天; 增加 1 天。

然后我决定在 2 月(闰年和正常年)进行测试,从第一个开始找到第一个,然后加入下个月的第一个。还检查了一个月前从 31 日和 30 日结束的一个月。我认为这应该是灵活的。

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

;

【讨论】:

以上是关于Netezza 获得每月第一天约会的最佳方式是啥?的主要内容,如果未能解决你的问题,请参考以下文章

新的 jQuery 插件 - 获得输入和反馈的最佳方式是啥?

Netezza 一年中第 n 周的第一天

存储时间序列数据的最佳开源解决方案是啥? [关闭]

C#如何获得当前月的第一天与最后一天

获得行动结果的最佳方式是啥?

获取从当月第一天到今天的天数 Swift