Я создал UDF Python в красном смещении для проверки, имеют ли мои данные правильные записи даты (если не возвращают NULL).
UDF успешно создан, но когда я передаю значение для функции, возникает ошибка его выдачи.
Python-код работает нормально в Google colab.Но не в красном смещении
CREATE OR REPLACE FUNCTION public.fn_isdate(date_text character varying)
RETURNS timestamp without time zone
stable
as $$
import datetime
def validate(dt):
try:
ti = datetime.datetime.strptime(dt,'%m/%d/%Y')
return ti.strftime('%m/%d/%Y')
except TypeError:
return None
except ValueError:
try:
ti = datetime.datetime.strptime(dt, '%Y-%m-%d')
return ti.strftime('%m/%d/%Y')
except ValueError:
return None
return validate(date_text)
$$ language plpythonu;
Я ожидаю 12/22/2003
для этого - SELECT public.fn_isdate('2003-12-22');
и NULL
для этого - SELECT public.fn_isdate('03-12-22');