【发布时间】:2020-10-13 21:08:18
【问题描述】:
这是用于 Oracle 12c 中的查询
我正在尝试创建一个“Week Of”字段,该字段将使用记录中存在的日期字段来为该记录分配一个反映一周开始的 Week Of 日期。我希望星期的开始是星期日,星期的结束是星期六。
举个例子说明我的意思:
metric_date metric value week_of
01-oct-20 sales 45 27-sep-20
05-oct-20 sales 15 04-oct-20
字段的周始终是最近的星期日日期。我试图修改此 SQL Server 代码以在 Oracle 中工作,因为它是为类似目的而编写的:
SELECT DATEADD(DAY, -DATEDIFF(DAY, 0, [Order Date]) % 7, [Order Date]) AS [Week of]
FROM dbo.your_table_name
这是我在 Oracle 中复制代码的尝试:
SELECT distinct
metric_date,
mod(-(to_date('01-jan-1900','dd-mon-yyyy') - trunc(metric_date)),7) + metric_date as week_of
FROM dbo.table
但它没有返回我想要的结果。 您是否可以看到我在复制的代码中没有考虑到任何明显的差异?
【问题讨论】: