単語からアクセントを削除する Redshift の機能が必要です。私はそれを作るためのPythonのコードでSO(質問)で質問を見つけました。私はいくつかの解決策を試しました。そのうちの1つは次のとおりです。
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
null 値のみを取得します。列 city は varchar 型です。null 値を取得する理由と、それを解決する方法を教えてください。