Как показать номера недель в качестве дат в Oracle SQL? - PullRequest
1 голос
/ 31 октября 2019

Есть ли способ заставить Oracle SQL отображать номер недели в виде даты (скажем, понедельника этой недели)?

Используя очень простой код, который я получил:

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

from
job

Что возвращает:

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 илиэто более существенно, чем это?

1 Ответ

4 голосов
/ 31 октября 2019

Вы можете обрезать дату до недели, чтобы получить первый день недели:

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...