将 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(<date>)
将替换为 date_part(d, <date>)
,dateadd(dd, <date1>, <date2>)
将替换为 dateadd(d, <date1>, <date2>)
。所以这里真的没有什么太棘手的事情
【参考方案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 查询转换为红移的主要内容,如果未能解决你的问题,请参考以下文章