【问题标题】:How to show week numbers as dates in Oracle SQL?如何在 Oracle SQL 中将周数显示为日期?
【发布时间】:2020-02-26 23:37:48
【问题描述】:

有没有办法让 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 语句中添加一些额外的文本还是比这更重要?

【问题讨论】:

  • 我认为您基本上需要额外的文本,尽管“st”和“th”可能需要额外的努力。

标签: sql oracle date calendar


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多