back to top

Operatori di confronto e operatori logici – Guida Oracle

Per la quot;costruzione" delle condizioni è possibile operare dei confronti utilizzando gli operatori di confronto:

  • = – uguale
  • > – maggiore
  • < – minore
  • >= – maggiore o uguale
  • <= – minore o uguale
  • <> o != – diverso
Facciamo un esempio: costruiamo una condizione sulla base di un’ipotetico campo prezzo, condizione che sarà verificata se il contenuto è inferiore a 100.
IF prezzo < 100 THEN
  ...
END IF

Molto utili nella costruzione di costrutti condizionali sono, anche, i cosidetti operatori logici. Questi sono:

  • NOT (o !) – negazione
  • AND (o &&) – congiunzione
  • OR o (||) – alternativa
  • XOR – anche detto "OR Esclusivo"
Il significato di questi operatori è piuttosto evidente. L’utilizzo di NOT davanti ad una condizione ne inverte il significato. Per dirla in parole semplici una condizione preceduta da NOT diventa verificata quando è falsa. Un esempio risulterà chiarificante:
IF NOT prezzo < 100 THEN
...
END IF
equivale, di fatto a:
IF prezzo >= 100 THEN
...
END IF

Vediamo un semplice esempio:

DECLARE
 var_stipendio NUMBER;
BEGIN
 SELECT Stipendio INTO var_stipendio WHERE Cognome = 'Rossi';
IF var_stipendio >= 100000 THEN
  THEN
   INSERT INTO Log (Messaggio) VALUES ('Lo stipendio del Signor Rossi è extra budget.');
  ELSE
   INSERT INTO Log (Messaggio) VALUES ('Lo stipendio del Signor Rossi è OK.');
 END IF;
END;

La clausola AND viene utilizzata per creare condizioni complesse composte da sotto-condizioni che devono essere tutte verificate affinchè la condizione che le contiene tutte possa considerarsi soddisfatta:

IF prezzo < 100 AND sconto > 10 THEN
...
END IF
Nel nostro esempio la condizione sarà verificata se il prezzo è inferiore a 100 ed, allo stesso tempo, lo sconto è maggiore di 10.

La clausola OR, infine, prevede che una condizione multipla sia verificata se almeno una delle sotto-condizioni risulta vera; tornando al nostro esempio:

IF prezzo < 100 OR sconto > 10 THEN
...
END IF
La condizione risulta verificata se il prezo è inferiore a 100 oppure se lo sconto è maggiore di 10.

Oltre a questi vanno ricordati, inoltre:

  • IS NULL – verifica se un valore è nullo
  • IS NOT NULL – verifica che un valore non sia nullo
  • BETWEEN – verifica che un valore sia compreso in un range di valori
  • IN – verifica che un valore sia compreso in una lista di valori possibili
  • LIKE – verifica corrispondenze parziali; nella stringa di confronto possono essere usati caratteri speciali come % (qualsiasi carattere, nessuna o più occorrenze) e _ (una carattere qualsiasi).
Vediamo un esempio di LIKE:
IF cognome LIKE 'Bian%' THEN
...
END IF
La condizione sarà verificata per i cognomi Bianchi, Bianchetti, Biandini, ecc. cioè per ogni cognome che inizia con "Bian".

Pubblicitร