У меня есть столбец типа даты с именем «raw_date». Мне нужно извлечь еще один столбец даты из него с логами c, являющимися-
1) Если день в «raw_date» находится в диапазоне от 1 до 14, тогда производная дата должна быть последней датой предыдущего месяца (поэтому, если предыдущий месяц в (1,3,5,7,8,10,12), последняя дата будет 31, если в предыдущем месяце (4,6,9,11) последняя дата будет 30; если предшествующий месяц находится в (2) и год является високосным, последняя дата будет 29, а если это не високосный год, то это будет 28
2) Кроме того, мне необходимо учитывать изменения в году. Предположим, если «raw_date» = «2020-01-12», производная дата будет «2019-12-31»
Я пытаюсь использовать оператор «case» и предоставляю явные даты прошлого месяца, но есть многие сценарии ios, поэтому не могут охватить весь сценарий ios, требуемый согласно логам c. Может ли быть код, который охватывает все сценарии ios, включая високосный год и изменения года, если в январе дата составляет от 1 до 14.