Проверка формата даты в столбце с разными форматами даты - PullRequest
0 голосов
/ 23 октября 2019

У меня есть текстовый столбец в таблице, который может содержать данные даты в любом из возможных форматов даты. Мне нужно проверить, является ли указанная в столбце дата действительным форматом даты или нет. Я создал еще одну таблицу, в которой содержатся выражения Posix всех возможных форматов даты, а затем написал запрос на обновление.

Но я поражен запросом на обновление. Он сравнивает определенный формат даты со всеми данными в таблице форматов и обновляет вывод как «Недействительная дата» по сравнению с другим форматом.

Таблица данных: -

Id C1 сообщение 122-ноя-2019 2 22-ноя-19
3 22/11/2019
4 22/11/19
5 11/22/19
6 22.11.2009

Таблица форматов: -

date_pattern date_format ГГГГ-ММ-ДД ^ [0-9] [0-9] [0-9] [0-9] - (((0) [0-9]) | ((1) [0-2])) - (((0) [0-9]) | ([1-2] [0-9]) | ([3] [0-1])) $ ГГГГ-ДД-ММ ^ [0-9] [0-9] [0-9] [0-9] - (((0) [0-9]) | ([1-2] [0-9]) | ([3] [0-1])) - (((0) [0-9]) | ((1) [0-2])) $ ГГГГ / ММ / ДД ^ [0-9] [0-9] [0-9] [0-9] / (((0) [0-9]) | ((1) [0-2])) / (((0) [0-9]) | ([1-2] [0-9]) | ([3] [0-1])) $ ГГГГ / ДД / ММ ^ [0-9] [0-9] [0-9][0-9] / (((0) [0-9]) | ([1-2] [0-9]) | ([3] [0-1])) / (((0) [0-9]) | ((1) [0-2])) $ AA ^ (([1-9]) | ([0-2] [0-9]) | ([3] [0-1]. * обновить x_test set message = concat (message, 'Дата Тип данных не указан должным образом - col2;')
из (s)выбрать формат даты_формат из brms.dates) varformat, где нет (c2 ~ varformat.formatt)

...