Operatori e comandi di ricerca
Nelle caselle Criterio e nelle caselle o della struttura delle ricerche
si possono immettere valori precisi oppure valori accompagnati da
operatori o da comandi.
I valori numerici possono essere introdotti così come sono, mentre
quelli testuali vanno compresi tra apici singoli (ottenibili mediante
l’apostrofo). OpenOffice.org Base in realtà provvede a inserire
automaticamente gli apici quando necessario, ma è utile abituarsi a
usare direttamente la sintassi precisa.
Di seguito sono elencati gli operatori disponibili in Base e la loro
funzione. Si noti che tutti gli operatori funzionano sia con valori
numerici sia con valori testuali; in caso di valori testuali, le
espressioni “maggiore di” e “minore di” si intendono rispetto
all’ordinamento alfabetico.
-
= (uguale a): vengono cercati tutti i record che, nel campo
specificato, possiedano il valore indicato. Questo operatore è quello
implicito, che viene cioè usato se non viene immesso alcun operatore.
- <> (diverso da): vengono cercati tutti i record che, nel campo
specificato, possiedano un valore diverso da quello indicato.
- > (maggiore di): vengono cercati tutti i record che, nel campo
specificato, possiedano un valore maggiore di quello indicato.
-
< (minore di): vengono cercati tutti i record che, nel campo
specificato, possiedano un valore minore di quello indicato.
-
>= (maggiore di o uguale a): vengono cercati tutti i record che, nel
campo specificato, possiedano un valore maggiore di quello indicato o
uguale ad esso.
-
<= (minore di o uguale a): vengono cercati tutti i record che, nel
campo specificato, possiedano un valore minore di quello indicato o
uguale ad esso.
Gli operatori consentono di effettuare ricerche già abbastanza potenti.
Per ricerche davvero raffinate sono disponibili alcuni comandi,
elencati di seguito. Per convenzione, i comandi sono scritti
completamente in maiuscolo; si possono introdurre anche in minuscolo,
perché Base provvede alla conversione: se dopo aver salvato la tabella
si scopre che i comandi sono rimasti in minuscolo, vuol dire che non
sono stati riconosciuti come tali da OpenOffice.org Base.
-
IS EMPTY: vengono cercati tutti i record che, nel campo specificato,
non contengono alcun valore. La sintassi SQL è IS NULL.
-
IS NOT EMPTY: vengono cercati tutti i record che, nel campo
specificato, contengono un valore qualunque. La sintassi SQL è IS NOT
NULL.
- LIKE 'stringa': vengono cercati tutti i record che, nel campo
specificato, contengono un valore al cui interno è presente la sequenza
di testo stringa (stringa va ovviamente sostituita con la sequenza di
testo appropriata). Con questo comando si possono usare i caratteri
jolly * (che indica un numero qualunque di caratteri) e ? (che indica
un unico carattere, qualunque esso sia). Per esempio, per indicare che
stringa si deve trovare all’inizio del campo si deve usare LIKE
'stringa*'; se stringa si deve trovare alla fine del campo, si deve
usare LIKE '*stringa'; se stringaLIKE '*stringa*'. La stessa sintassi si deve usare
con il carattere jolly ?. La sintassi SQL prevede un uso identico del
comando LIKE, ma caratteri jolly differenti: al posto dell’asterisco si
deve usare il percento (%) e, al posto del punto interrogativo, la
sottolineatura (_).
- NOT LIKE 'stringa': vengono cercati tutti i record che, nel campo
specificato, contengono un valore al cui interno non è presente la
sequenza di testo stringa. Valgono tutte le indicazioni date riguardo
al comando LIKE.
- BETWEEN x AND y: vengono cercati tutti i record che, nel campo
specificato, contengono un valore compreso tra x e y. Si noti che x e y
possono anche essere valori testuali: per esempio, per cercare tutti i
film il cui titolo inizia con le lettere dalla L alla R si può
immettere l’espressione BETWEEN 'l*' AND 's*' (si noti l’uso del
secondo parametro: è s* e non r*).
- NOT BETWEEN x AND y: vengono cercati tutti i record che, nel campo
specificato, non contengono un valore compreso tra x e y. Valgono tutte
le indicazioni date riguardo al comando BETWEEN.
- IN (a; b; c...): vengono cercati tutti i record che, nel campo
specificato, contengono un valore tra quelli indicati come parametri.
Per esempio, per cercare i film il cui codice di formato è 0 oppure 2
si può immettere l’espressione IN (0; 2). Si possono immettere anche
parametri testuali, ognuno dei quali deve però essere racchiuso tra
apici singoli; non si possono usare caratteri jolly. La sintassi SQL
vuole le virgole al posto dei punto e virgola.
- NOT IN (a; b; c...): vengono cercati tutti i record che, nel campo
specificato, non contengono neanche uno dei valori indicati come
parametri. Valgono tutte le indicazioni date riguardo al comando IN.
- = TRUE: vengono cercati tutti i record che, nel campo specificato,
hanno il valore Vero. Questo comando si usa con i campi di tipo
Vero/Falso (o Sì/No).
- = FALSE: vengono cercati tutti i record che, nel campo specificato,
hanno il valore Falso. Questo comando si usa con i campi di tipo
Vero/Falso (o Sì/No).
si deve trovare in mezzo al dato del
campo, si deve usare
La sintassi riportata sia qui sia nel resto dell’articolo si riferisce
alle basi di dati costruite con Base usando il suo motore nativo. In
realtà la sintassi dipende dal tipo di database usato e dal driver che
lo gestisce, perciò alcune differenze possono essere riscontrate tra
tipi di database diversi.