如何在 Oracle SQL 中将周数显示为日期?

How to show week numbers as dates in Oracle SQL?

有没有办法让 Oracle SQL 将周数显示为日期(比如那周的星期一)?

使用我得到的非常基本的代码:

select
job.job_number,
TO_CHAR(job.actual.start_date, 'IW') as WEEK_ON_SITE

from
job

哪个returns:

1234    1
1235    1
1236    2
1237    3
1238    3

我想做的是:

1234    wc 1st April
1235    wc 1st April
1236    wc 8th April
1237    wc 15th April
1238    wc 15th April

只是在 TO_CHAR 声明中添加了一些额外的文本,还是比这更重要?

您可以将日期截断为星期以获得一周的第一天:

select
    job.job_number,
    trunc(job.actual.start_date, 'IW') as week_on_site
from job

然后您可以根据需要进行格式化:

select
    job.job_number,
    'wc ' || to_char(trunc(job.actual.start_date, 'IW'), 'd month')  as week_on_site
from job