извлекать данные - PullRequest
       4

извлекать данные

0 голосов
/ 11 февраля 2020

У меня есть таблица, где моя env_value = 202052 (2020 - это ГГГГ, а 52 - недели в году). В конце года, когда он достигает De c на прошлой неделе, то есть 202052, тогда он должен начинаться с недели нового года, которая 202101 (env_value) В ответе на запрос, который я пробовал, выводится значение 202053, но я ожидаю увидеть 202101. Я не могу понять, как это сделать.

  CREATE TABLE env_sys(
    [env_cat] [nvarchar](50) NOT NULL,
    [env_opt] [nvarchar](50) NOT NULL,
    [env_value] [nvarchar](255) NOT NULL)

    insert into env_sys 
    values( 'REPORT_EXTRACT', 'LAST_FILE_PROCESSED' , '202052')

  select 

    rtrim(case when substring(env_value,5,2) between '01' and '08'
    then substring(env_value,1,4)+'0'+cast(cast(substring(env_value,5,2)as int)+1 as char(2))
    when substring(env_value,5,2) between '09' and '52'
  then substring(env_value,1,4)+cast(cast(substring(env_value,5,2)as int)+1 as char(2))
 else
  substring(env_value,1,3)+cast(cast(substring(env_value,4,1)as int)+1 as char(1))+'01' 
 end) 
from env_sys
where env_cat = 'REPORT_EXTRACT'
and env_opt = 'LAST_FILE_PROCESSED'
...