У меня есть столбец под названием batch_id
со списком дат - 2016080184 ie date 2016 08 01 84 (84, я считаю, что временная часть).T-SQL: август - начало следующего года финансового года, код для динамического изменения идентификаторов партии
мне нужно обновить batch_id
(varchar(25)
), чтобы изменить 2017010184
, основываясь на другой колонке voucher_date
(datetime
) = 2016-08-01 00:00:00.000
Итак, если voucher date
было 2016-08-02 00: 00: 00,000, то batch_id
потребности изменяться от 2016080278
к 2017010278
(78 в конце здесь не имеет значения)
августа первый месяц за финансовый год, так что август будет фактически стать январь, сентябрь станет февраль и т.д .. и год от августа требуется чтобы указать на следующий год то в этом году 2016 поэтому batch_id
должен начинаться с 2017.
Следующей августа batch_id
следует указать в 2018 год и т.д ..
В файл я получаю всегда день позади, чтобы сделать вещи более сложными.
Tank you iamdave Я расскажу вам об этом случае. – user6667537
Извините, что являюсь глупым человеком, но я новичок в этом и программировании. \t Я пытаюсь сделать заявление о случае, но оно исправлено. Есть ли способ динамически установить дату? выберите @Kx_Fin_batch_ref = \t \t Корпус, когда voucher_date> = '2016-08-01' и voucher_date <= '2016-08-31', затем 'KX -' + convert (nvarchar (8), dateadd (месяц, 5, литье (left ([batch_id], 8) в качестве даты)), 112) + right ([batch_id], 2) \t \t \t, когда voucher_date> = '2016-09-01' и voucher_date <= '2016-09-30 'then' KX - '+ convert (nvarchar (8), dateadd (месяц, 5, cast (left ([batch_id], 8) в качестве даты)), 112) + right ([batch_id], 2) – user6667537
Просьба пояснить правила для динамического периода даты без использования кода. – iamdave