У меня есть одно поле базы данных, которое содержит дату начала, дату окончания и исключения в форме
available DD/MONTH/YYYY [to DD/MONTH/YYYY]?[, exclude WORD [, WORD]*]?
Это означает, что он всегда начинается с «доступные ДД / МЕСЯЦ / ГГГГ», опционально имеет одно значение «до ДД / МЕСЯЦ / ГГГГ» и, необязательно, имеет условие исключения, представляющее собой список строк, разделенных запятыми. Подумайте значения регулярных выражений для +, * и?
Мне было поручено извлечь данные, поэтому теперь у нас будет столбец «startdate», «enddate» и новая таблица, которая будет содержать исключения. Необходимо будет заполнить столбцы startdate и enddate значениями, проанализированными из строки доступности. Также потребуется создать несколько записей в новой таблице исключений, по одной для каждого из значений, разделенных запятыми, после ключевого слова exclude в строке доступности.
Это миграция, которую я могу сделать только в SQL (postgres 8.4)?
Это против postgres 8.4.
Обновление: С помощью сотрудника у нас теперь есть сценарий sql, который в результате приводит к выполнению операторов вставки на основе синтаксического анализа исключений. Он использует кучу операторов case и манипуляции со строками в sql для генерации результатов. Затем я отправляю вывод в файл и выполняю этот файл для выполнения вставок. Я делаю то же самое для столбцов даты начала и окончания.
Это не 100% sql, а простой файл .bat или .sh, который запускает первый файл .sql, а затем сгенерированный - все, что нужно для его запуска.
Спасибо за ввод.