地名の表があります。前に追加の文字がある場合もあります。たとえば、都市名が Astana の場合はs.Astana
. アスタナという場所の名前だけを取得する必要があります。を使いたいのですsubstr
が、最初の大文字のインデックスが見つかりません。キリル文字が使われているのも問題です。いくつか例を挙げたい:
- Акмолинская область -> Акмолинская
- Кокшетау Г.А。-> Кокшетау
- г.Кокшетау -> Кокшетау
- Красноярский с.о. -> Красноярский
- с.Красный Яр -> Красный Яр
私が試したこと:フィールド short_nameru を作成し、このように更新しました
UPDATE center_kato ck SET ck.short_nameru = case when
LENGTH(SUBSTRING_INDEX(ck.nameru , ' ', -1)) > LENGTH(SUBSTRING_INDEX(ck.nameru , ' ',1))
then SUBSTRING_INDEX(ck.nameru , ' ', -1)
else SUBSTRING_INDEX(ck.nameru , ' ',1)
END
その後、私は再びそれを更新しました
UPDATE center_kato ck SET ck.short_nameru = case
when LENGTH(SUBSTRING_INDEX(ck.short_nameru , '.', -1)) > LENGTH(SUBSTRING_INDEX(ck.short_nameru , '.',1))
then SUBSTRING_INDEX(ck.short_nameru , '.', -1)
WHEN LENGTH(SUBSTRING_INDEX(ck.short_nameru , '.', -1)) < LENGTH(SUBSTRING_INDEX(ck.short_nameru , '.',1))
then SUBSTRING_INDEX(ck.short_nameru , '.',1)
ELSE ck.short_nameru
END
しかし、必要な値をいくつか失いました。"зимовка Туяк"
なりまし"зимовка"
たが、私は必要でした"Туяк"