Gruppo Operatori↵
Abstract
**Questo gruppo contiene operatori es. + - ***
AND↵
Restituisce 1 quando le condizioni a e b sono vere.
Sintassi:
- a AND b
Argomenti:
- a condizione
- b condizione
Esempi:
Osservazioni:
1 significa Vero
0 significa falso
<> (diverso)↵
Confronta due valori e pone a 1 se essi non sono uguali.
Sintassi:
- a <> b
Argomenti:
- a valore
- b valore
Esempi:
Osservazioni:
1 significa Vero
0 significa falso
/ (diviso)↵
Divisione di due valori.
Sintassi:
- a / b
Argomenti:
- a valore
- b valore
Esempi:
|| (doppio pipe)↵
Unisce due valori assieme in una stringa.
Se uno dei valori è NULL il risultato sarà NULL. Vedi la funzione CONCAT con caratteristiche differenti.
Sintassi:
- a || b
Argomenti:
- a valore
- b valore
Esempi:
'Qui' || ' e ' || 'là' → 'Qui e là'
'Nothing' || NULL → NULL
'Dia: ' || "Diameter" → 'Dia: 25' ("Diameter" - un campo tabella attributi)
1 || 2 → '12'
Osservazioni:
Puoi concatenare stringhe usando ||
o +
. Quest'ultimo significa anche somma nelle espressioni. Quindi se hai un intero (campo o valore numerico) questo può essere soggetto a errori. In questo caso, dovresti usare ||
. Se si concatenano due valori stringa, è possibile utilizzare entrambi.
ILIKE↵
Restituisce 1 se il primo parametro soddisfa senza tener conto delle maiuscole o minuscole il modello fornito. LIKE può essere usato al posto di ILIKE per eseguire una comparazione che tenga conto delle maiuscole e minuscole. Funziona anche con i numeri.
Sintassi:
- string/number ILIKE pattern
Argomenti:
- string/number stringa da cercare
- pattern pattern di ricerca, puoi usare
'%'
come carattere jolly,'_'
come un singolo carattere e'\'
per eseguire l'escape.
Esempi:
'A' ILIKE 'A' → 1
'A' ILIKE 'a' → 1
'A' ILIKE 'B' → 0
'ABC' ILIKE 'b' → 0
'ABC' ILIKE 'B' → 0
'ABC' ILIKE '_b_' → 1
'ABC' ILIKE '_B_' → 1
'ABCD' ILIKE '_b_' → 0
'ABCD' ILIKE '_B_' → 0
'ABCD' ILIKE '_b%' → 1
'ABCD' ILIKE '_B%' → 1
'ABCD' ILIKE '%b%' → 1
'ABCD' ILIKE '%B%' → 1
Osservazioni:
1 significa Vero
0 significa falso
IN↵
Restituisce 1 se il valore viene trovato in una lista di valori.
Sintassi:
- a IN_b_
Argomenti:
- a valore
- b lista di valori
Esempi:
Osservazioni:
La funzione distingue maiuscolo dal minuscolo!!!
1 significa Vero
0 significa falso
IS↵
Restituisce 1 se a è uguale a b.
Sintassi:
- a IS b
Argomenti:
- a qualsiasi valore
- b qualsiasi valore
Esempi:
'A' IS 'A' → 1
*'A' IS 'a' → 0
4 IS 4 → 1
4 IS 2+2 → 1
4 IS 2 → 0
$geometry IS NULL → 0, se la tua geometria non è NULL
Osservazioni:
La funzione distingue maiuscolo dal minuscolo!!!
1 significa Vero
0 significa falso
IS NOT↵
Restituisce 1 se a non è uguale a b.
Sintassi:
Sintassi:
- a IS NOT b
Argomenti:
- a valore
- b valore
Esempi:
LIKE↵
Restituisce 1 se il primo parametro soddisfa il modello fornito. Funziona anche con i numeri.
Sintassi:
- string/number LIKE pattern
Argomenti:
- string/number valore
- pattern pattern con cui confrontare il valore, puoi usare
'%'
come carattere jolly,'_'
come un singolo carattere e'\'
per eseguire l'escape.
Esempi:
'A' LIKE 'A' → 1
'A' LIKE 'a' → 0
'A' LIKE 'B' → 0
'ABC' LIKE 'B' → 0
'ABC' LIKE '_B_' → 1
'ABCD' LIKE '_B_' → 0
'ABCD' LIKE '_B%' → 1
'ABCD' LIKE '%B%' → 1
'1%' LIKE '1\\%' → 1
'1_' LIKE '1\\%' → 0
Osservazioni:
La funzione distingue maiuscolo dal minuscolo!!!
1 significa Vero
0 significa falso
NOT BETWEEN↵
Restituisce TRUE se il valore non è all'interno dell'intervallo specificato. L'intervallo è considerato comprensivo dei limiti.
Sintassi:
- NOT BETWEEN lower_bound AND higher_bound
Argomenti:
- lower_bound AND higher_bound limite intervallo
Esempi:
BETWEEN↵
Restituisce TRUE se il valore rientra nell'intervallo specificato. L'intervallo è considerato comprensivo dei limiti. Per verificare l'esclusione può essere utilizzato NOT BETWEEN
.
Sintassi:
- BETWEEN lower_bound AND higher_bound
Argomenti:
- lower_bound AND higher_bound limite intervallo
Esempi:
> (maggiore)↵
Confronta due valori e pone a 1 se il valore a sinistra è maggiore del valore a destra.
Sintassi:
- a > b
Argomenti:
- a valore
- b valore
Esempi:
Osservazioni:
1 significa Vero
0 significa falso
>= (maggiore uguale)↵
Confronta due valori e pone a 1 se il valore a sinistra è maggiore o uguale del valore a destra.
Sintassi:
- a >= b
Argomenti:
- a valore
- b valore
Esempi:
Osservazioni:
1 significa Vero
0 significa falso
Operatore - (meno)↵
Sottrazione di due valori. Se uno dei due valori è NULL il risultato sarà NULL.
Sintassi
- a-b
Argomenti:
- a valore
- b valore
Esempi:
5 - 4 → 1
5 - NULL → NULL
to_datetime('2012-05-05 12:00:00') - to_interval('1 day 2 hours') → 2012-05-04T10:00:00
< (minore)↵
Confronta due valori e pone a 1 se il valore a sinistra è minore del valore a destra.
Sintassi:
- a < b
Argomenti:
- a valore
- b valore
Esempi:
Osservazioni:
1 significa Vero
0 significa falso
<= (minore uguale)↵
Confronta due valori e pone a 1 se il valore a sinistra è minore o uguale del valore a destra.
Sintassi:
- a <= b
Argomenti:
- a valore
- b valore
Esempi:
Osservazioni:
1 significa Vero
0 significa falso
NOT↵
Nega una condizione.
Sintassi
- NOT a
Argomenti:
- a
Esempi:
Osservazioni:
1 significa Vero
0 significa falso
OR↵
Restituisce 1 quando la condizione a oppure b è vera.
Sintassi
- a OR b
Argomenti:
- a condizione
- b condizione
Esempi:
Osservazioni:
1 significa Vero
0 significa falso
[] Indice operatore↵
Restituisce un elemento da un array o valore mappa.
Sintassi:
- [] index
Argomenti:
- index indice array o valore chiave della mappa
Esempi:
array(1,2,3)[0] → 1
array(1,2,3)[2] → 3
array(1,2,3)[-1] → 3
map('a',1,'b',2)['a'] → 1
map('a',1,'b',2)['b'] → 2
^ (potenza)↵
Elevazione a potenza di due valori.
Sintassi:
- a ^ b
Argomenti:
- a valore
- b valore
Esempi:
--
* (prodotto)↵
Moltiplicazione di due valori.
Sintassi
- a * b
Argomenti:
- a valore
- b valore
Esempi:
% (resto divisione)↵
Resto della divisione.
In aritmetica il resto è la quantità di *dividendo che è avanzata dalla divisione, cioè quella quantità che non è stata possibile dividere per il divisore affinché il risultato rimanga nell'insieme dei numeri interi
.
Per definizione: Il resto di una divisione denota la quantità da sottrarre a un dividendo al fine di renderlo divisibile per un divisore.
Sintassi
- a % b
Argomenti:
- a valore
- b valore
Esempio:
17 : 2 = 8 resto 1
Sottraendo a 17 il resto di 1 si ottiene 16, numero divisibile per due (la cui metà è 8). Nella divisione tra 17 e 2, va tenuto da parte il resto, ossia quel numero che, se diviso, farebbe rientrare il risultato in un altro insieme numerico.
Il resto di una divisione denota la quantità da sottrarre a un dividendo al fine di renderlo divisibile per un divisore.
OSSERVAZIONE1: Se il dividendo fosse più piccolo del Divisore, il resto sarebbe sempre uguale al Dividendo;
OSSERVAZIONE2 occhio al segno!!!
Esempi:
Altri esempi:
Un esempio molto utile nel campo GIS riguarda l'etichettatura curve di livello: supponiamo di voler etichettare le curve di livello (con passo 50 m) e visualizzare solo le etichette con passo 200 m, l'espressione da usare è la seguente:
ecco il risultato:
PRIMA:
DOPO:
+ (somma)↵
Addizione di due valori. Se uno dei due valori è NULL il risultato sarà NULL.
Sintassi
- a + b
Argomenti:
- a valore
- b valore
Esempi:
5 + 4 → 9
5 + NULL → NULL
'QGIS ' + 'ROCKS' → 'QGIS ROCKS'
to_datetime('2020-08-01 12:00:00') + '1 day 2 hours' → 2020-08-02T14:00:00
Osservazioni:
Puoi concatenare stringhe usando ||
o +
. Quest'ultimo significa anche somma nelle espressioni. Quindi se hai un intero (campo o valore numerico) questo può essere soggetto a errori. In questo caso, dovresti usare ||
. Se si concatenano due valori stringa, è possibile utilizzare entrambi.
~ (tilde)↵
Esegue un'espressione regolare su di una stringa.
Sintassi
- string~regex
Argomenti:
- string Un valore stringa
- regex Un'espressione regolare. Le slash devono essere precedute da caratteri di escape, es.
\\d
Esempi:
= (uguale)↵
Confronta due valori e pone a 1 se essi sono uguali.
Sintassi
- a=b
Argomenti:
- a valore
- b valore
Esempi:
Osservazioni:
1 significa Vero
0 significa falso