Как удалить нужное слово во всех строках табл. атр.?

Вопросы по свободной ГИС QGIS. Сообщения об ошибках, предложения по улучшению, локализация.
Ответить
yuzhuralov
Интересующийся
Сообщения: 26
Зарегистрирован: 03 янв 2016, 16:39
Репутация: 1

Как удалить нужное слово во всех строках табл. атр.?

Сообщение yuzhuralov » 14 фев 2016, 21:02

Есть Таблица атрибутов. В ней несколько тысяч строк в поле NAME. В строках размещены записи вида "Лысогорский район" или "Липецкий городской округ". Скажите, как автоматом, во всех строках удалить слова "район" и "городской округ"?

Аватара пользователя
nadiopt
Гуру
Сообщения: 4744
Зарегистрирован: 29 янв 2009, 13:27
Репутация: 495
Ваше звание: хрюкало
Откуда: Санкт-Петербург
Контактная информация:

Re: Как удалить нужное слово во всех строках табл. атр.?

Сообщение nadiopt » 14 фев 2016, 21:09

я делаю очень неизящно, перетаскиваю в опен офис dbf и все изничтожаю автозаменой
ин гроссен фамилен нихт клювен клац клац

Аватара пользователя
Игорь Белов
Гуру
Сообщения: 2241
Зарегистрирован: 04 янв 2011, 22:00
Репутация: 1514
Откуда: Казань

Re: Как удалить нужное слово во всех строках табл. атр.?

Сообщение Игорь Белов » 14 фев 2016, 22:17

Можно так:
  1. делаем выборку по условию:

    Код: Выделить всё

    "NAME" LIKE '%городской округ'
  2. в калькуляторе полей в выбранных записях обновляем поле NAME по формуле:

    Код: Выделить всё

    substr( "NAME" , 1 , strpos( "NAME" , ' городской округ' ) )
Вложения
Screen-2016-02-14_22-25.png
Screen-2016-02-14_22-25.png (46.33 КБ) 3204 просмотра
The purpose of computing is insight, not numbers

Александр Мурый
Гуру
Сообщения: 5173
Зарегистрирован: 26 сен 2009, 16:26
Репутация: 792
Ваше звание: званий не имею
Откуда: Москва

Re: Как удалить нужное слово во всех строках табл. атр.?

Сообщение Александр Мурый » 14 фев 2016, 22:53

Можно ещё так:

Код: Выделить всё

replace("имя_поля",'район','')
replace("имя_поля",'городской округ','')
Редактор материалов, модератор форума

Александр Мурый
Гуру
Сообщения: 5173
Зарегистрирован: 26 сен 2009, 16:26
Репутация: 792
Ваше звание: званий не имею
Откуда: Москва

Re: Как удалить нужное слово во всех строках табл. атр.?

Сообщение Александр Мурый » 14 фев 2016, 23:31

А ещё лучше с условием CASE:

Код: Выделить всё

CASE 
WHEN "name" LIKE '%район%' THEN  replace( "name",'район','')   
WHEN "name" LIKE '%городской округ%' THEN  replace( "name",'городской округ','') 
ELSE "name"
END
Редактор материалов, модератор форума

Ответить

Вернуться в «QGIS»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя