【问题标题】:Converting SQl query into redshift将 SQL 查询转换为红移
【发布时间】: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;)。所以这里真的没有什么太棘手的事情

标签: sql-server amazon-redshift


【解决方案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("未知”,双精度,日期)不存在;
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-08-14
  • 2015-10-10
  • 2015-05-08
  • 1970-01-01
  • 1970-01-01
  • 2017-04-25
  • 2017-04-07
相关资源
最近更新 更多