Калькулятор полей в QGis (условный оператор)
-
- Новоприбывший
- Сообщения: 9
- Зарегистрирован: 26 дек 2018, 01:01
- Репутация: 1
- Откуда: Россия
Калькулятор полей в QGis (условный оператор)
Здравствуйте. У меня есть текстовое поле "A". В поле "B", который имеет тип integer, мне надо присвоить значение в зависимости от значения в поле "A".
В калькуляторе полей в QGis пробовала писать по-разному такие выражения:
CASE WHEN "A" = 'город' THEN 1 END
CASE WHEN "A" LIKE 'город' THEN 1 END
CASE WHEN "A" is 'город' THEN 1 END
В поле "A" есть значение "город", но почему-то программа не присваивает нужное значение 1 полю "B", пишет "Null".
Хотя если применять ту же самую функцию для других полей, например CASE WHEN "C" = 'x' THEN 1 END, то все работает. В чем может быть причина? Заранее спасибо.
В калькуляторе полей в QGis пробовала писать по-разному такие выражения:
CASE WHEN "A" = 'город' THEN 1 END
CASE WHEN "A" LIKE 'город' THEN 1 END
CASE WHEN "A" is 'город' THEN 1 END
В поле "A" есть значение "город", но почему-то программа не присваивает нужное значение 1 полю "B", пишет "Null".
Хотя если применять ту же самую функцию для других полей, например CASE WHEN "C" = 'x' THEN 1 END, то все работает. В чем может быть причина? Заранее спасибо.
-
- Завсегдатай
- Сообщения: 297
- Зарегистрирован: 03 июн 2015, 10:19
- Репутация: 72
Re: Калькулятор полей в QGis (условный оператор)
CASE WHEN "A" = 'город' THEN 1 ELSE 0 END
-
- Новоприбывший
- Сообщения: 9
- Зарегистрирован: 26 дек 2018, 01:01
- Репутация: 1
- Откуда: Россия
Re: Калькулятор полей в QGis (условный оператор)
Vadim, делаю так, выводит 0. А должно быть 1, т.к. значение "город" есть.
-
- Завсегдатай
- Сообщения: 297
- Зарегистрирован: 03 июн 2015, 10:19
- Репутация: 72
Re: Калькулятор полей в QGis (условный оператор)
Пользователь2612, убедитесь, что нет латинских символов в значении 'город' ни в запросе, ни в атрибутах.
- gisterbiter
- Новоприбывший
- Сообщения: 1
- Зарегистрирован: 16 апр 2021, 11:50
- Репутация: 0
- Откуда: Новосибирск
Re: Калькулятор полей в QGis (условный оператор)
Ну если с "С" все работает, то причина скорее всего в том, что "А" != (не равно) 'город'. Т.е., как заметил Вадим, стоит проверить на орфографию 'город', т.к. для вычислительной машины русская "о" и английская "o" это два разных символа. Если не сработает, отпишитесь, будем думать!
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 13 гостей