将 SQL 查询转换为红移

Posted

技术标签:

【中文标题】将 SQL 查询转换为红移【英文标题】:Converting SQl query into redshift 【发布时间】:2020-01-09 14:17:32 【问题描述】:

我在 SQL 中查询月到日期语句并将其转换为红移。有人可以帮我将下面的案例语句从 SQL Server 转换为 redshift 吗?

SQL 查询:

CASE WHEN day(weekenddate) <= 7 THEN dateadd(dd, - day(dateadd(dd, - day(weekenddate), weekenddate)) + 1, dateadd(dd, - day(weekenddate), weekenddate)) 
ELSE dateadd(dd, - day(weekenddate) + 1, weekenddate) END AS MTDStartDateTY, 

【问题讨论】:

day(&lt;date&gt;) 将替换为 date_part(d, &lt;date&gt;)dateadd(dd, &lt;date1&gt;, &lt;date2&gt;) 将替换为 dateadd(d, &lt;date1&gt;, &lt;date2&gt;)。所以这里真的没有什么太棘手的事情 【参考方案1】:

这是转换

case when date_part(d, weekenddate)<= 7 THEN dateadd(day, - date_part(d,dateadd(day, - date_part(d, weekenddate), weekenddate)) + 1, dateadd(day, - date_part(d, weekenddate), weekenddate)) 
ELSE dateadd(day, - date_part(d, weekenddate) + 1, weekenddate) END AS MTDStartDateTY, 

【讨论】:

感谢您的及时回复,当我尝试时出现以下错误。[代码:500310,SQL 状态:42883] [亚马逊](500310) 无效操作:函数 pg_catalog.date_add("未知”,双精度,日期)不存在;

以上是关于将 SQL 查询转换为红移的主要内容,如果未能解决你的问题,请参考以下文章

R将tbl对象更新为红移

在红移中将 MM/DD/YYYY 转换为 YYYYMMDD

如何将纪元转换为日期时间红移?

将 2-3-4 树转换为红黑树

将 AVL 树转换为红黑树

何时以及如何将HashMap从链表转换为红黑树? [重复]