Я хочу иметь функцию в Redshift, которая удаляет акценты в словах. Я нашел вопрос в SO ( question ) с кодом в Python для его создания. Я пробовал несколько решений, одно из которых:
import unicodedata
def remove_accents(accented_string):
nfkd_form = unicodedata.normalize('NFKD', input_str)
return u"".join([c for c in nfkd_form if not unicodedata.combining(c)])
Затем я создаю функцию в Redshift следующим образом:
create function remove_accents(accented_string varchar)
returns varchar
immutable
as $$
import unicodedata
def remove_accents(accented_string):
nfkd_form = unicodedata.normalize('NFKD', input_str)
return u"".join([c for c in nfkd_form if not unicodedata.combining(c)])
$$ language plpythonu;
И я применяю ее к столбцу с помощью:
SELECT remove_accents(city) FROM info_geo
Получение только нулевых значений. Город-колонна имеет тип Varchar. Почему я получаю нулевые значения и как я могу это решить?