Tengo dos columnas en mi tabla de atributos QGIS. La primera columna contiene valores que no están contenidos en la segunda columna y viceversa. Me gustaría agregar un nuevo campo que contenga los valores de la primera y segunda columna. Pensé que podría ser tan simple como "Valor 1 + Valor 2), pero esto me da resultados nulos . Todos los valores son cadenas.
Value 1| Value 2 | New Column
-------------------------
Bacon | | Bacon
Eggs | | Eggs
| Cheese | Cheese
| Ham | Ham
qgis
attribute-table
Dunuts
fuente
fuente

Respuestas:
Muchos operadores y funciones en SQL (y, por lo tanto, expresiones) regresan
NULLsi uno de los parámetros eraNULLLos siguientes ejemplos demuestran el comportamiento de varios operadores en una capa con las columnas
AyB."A" + "B"NULL + 'text'➝NULL'a' + 'b'➝'ab'"A" || "B"NULL || 'text'➝NULL'a' || 'b'➝'ab'CONCAT("A", "B")CONCAT(NULL, 'text')➝'text'CONCAT('a', 'b')➝'ab'COALESCE("A", "B")COALESCE(NULL, 'text')➝'text'COALESCE('a', 'b')➝'a'COALESCE('a', NULL)➝'a'COALESCE(NULL, NULL, 'Other')➝'Other'En su caso, desea trabajar con cualquiera
CONCAToCOALESCEdependiendo del comportamiento esperado con múltiples / sin valores.fuente
Puede usar la calculadora de campo y seguir estos pasos:
1- Crear nuevo campo (cadena)
2- Utilice la función "Fusionar"
La función Colaesce devuelve el primer no NULL
fuente
Seleccione la capa en el panel de capas y abra la consola de Python y ejecute este fragmento:
fuente
También puede usar la calculadora de campo, agregar un nuevo campo y alimentarlo con lo siguiente
fuente