SQL 函数到 select 今年的第一天和之后的每一天
SQL Function to select first day of current year and everyday after
我正在寻找一个快速高效的代码来获取当年的第一天和之后的每一天及其周数。到目前为止,我有这样的事情来开始我的工作:
SELECT
to_char(TRUNC(SysDate,'YEAR'), 'WW')Week_No,
to_char(TRUNC(SysDate,'YEAR'), 'DD/MM/YY')First_Day
FROM dual;
这让我得到周数和当年的第一天。我还有这个可以让我得到当年的最后一个日历日:
SELECT ADD_MONTHS(trunc(sysdate,'YEAR'),12)-1 from dual;
我实在是太傻了,或者这可能是一天脑筋急转弯的结束,但我现在正试图在中间找到一点。这样做的目的是获取每个日历日和周数的列表。
如果有人能在这里指导我,我将不胜感激。
谢谢
您是否正在寻找这样的东西:
SELECT
ST_DT + LEVEL - 1,
TO_CHAR(ST_DT + LEVEL - 1, 'IW') AS DY
FROM
(
SELECT
TRUNC(SYSDATE, 'YEAR') ST_DT,
TRUNC(SYSDATE, 'YEAR') + INTERVAL '12' MONTH - INTERVAL '1' DAY END_DT
FROM DUAL
)
CONNECT BY LEVEL <= END_DT - ST_DT
ORDER BY LEVEL
干杯!!
我正在寻找一个快速高效的代码来获取当年的第一天和之后的每一天及其周数。到目前为止,我有这样的事情来开始我的工作:
SELECT
to_char(TRUNC(SysDate,'YEAR'), 'WW')Week_No,
to_char(TRUNC(SysDate,'YEAR'), 'DD/MM/YY')First_Day
FROM dual;
这让我得到周数和当年的第一天。我还有这个可以让我得到当年的最后一个日历日:
SELECT ADD_MONTHS(trunc(sysdate,'YEAR'),12)-1 from dual;
我实在是太傻了,或者这可能是一天脑筋急转弯的结束,但我现在正试图在中间找到一点。这样做的目的是获取每个日历日和周数的列表。
如果有人能在这里指导我,我将不胜感激。
谢谢
您是否正在寻找这样的东西:
SELECT
ST_DT + LEVEL - 1,
TO_CHAR(ST_DT + LEVEL - 1, 'IW') AS DY
FROM
(
SELECT
TRUNC(SYSDATE, 'YEAR') ST_DT,
TRUNC(SYSDATE, 'YEAR') + INTERVAL '12' MONTH - INTERVAL '1' DAY END_DT
FROM DUAL
)
CONNECT BY LEVEL <= END_DT - ST_DT
ORDER BY LEVEL
干杯!!