Я хотел бы заменить значения, если атрибут равен 0, если их нет, используя менеджер баз данных QGIS и опцию «Виртуальные слои» в качестве базы данных.
Я пришел с таким запросом:
select if(field is null, 0.0, field) from layer
Однако это приводит к сбою всей программы. Я использую QGIS 3.2.3 из-за этой проблемы , которую я не могу обойти в моем текущем рабочем процессе.
Не поддерживает ли менеджер баз данных QGIS операторы SQL if? Если нет, то почему мой запрос приводит к сбою всей программы?
Кроме того, довольно неприятно, что DBManager полностью сбивает QGIS для каждой синтаксической ошибки или неправильной запятой, в отличие от выдачи осмысленного сообщения об ошибке.