Questa sezione descrive gli operatori di confronto semplici di ESQL. Per informazioni relative agli operatori di confronto complessi di ESQL, consultare Operatori di confronto complessi ESQL.
ESQL fornisce un insieme di operatori di confronto (predicati). Ciascun operatore confronta due valori scalari ed il risultato un valore booleano. Se uno degli operatori è null, il risultato è null. In caso contrario, il risultato è true se la condizione è soddisfatta e false se la condizione non è soddisfatta.
Gli operatori di confronto possono essere applicati a tutti i tipi di dati scalari. Tuttavia, se i due operandi sono di tipi diversi, vengono applicate regole speciali. Tali regole sono descritte in Assegnazioni implicite.
Alcuni operatori di confronto supportano anche il confronto di righe ed elenchi. Tali operatori sono riportati di seguito.
Questo operatore può confrontare righe ed elenchi. Consultare Confronti tra ROW e LIST per una descrizione di confronto tra elenchi e righe.
Questo operatore può confrontare righe ed elenchi. Consultare Confronti tra ROW e LIST per una descrizione di confronto tra elenchi e righe.
Per i tipi stringa (CHARACTER, BLOB, BIT), il confronto è lessicografico. A partire da sinistra, vengono confrontati i singoli elementi (ciascun carattere, byte o bit). Se non vengono rilevate differenze, le stringhe sono uguali. Se viene rilevata una differenza, i valori sono maggiori se il primo elemento diverso nel primo operando è maggiore dell'elemento corrispondente nel secondo e minori se minori. Nel caso in cui due stringhe siano di lunghezza diversa ma uguali fino ad un certo punto, la stringa più lunga è considerata maggiore. Quindi:
'ABD' è maggiore di 'ABC' 'ABC' è maggiore di 'AB'
'ABC ' è uguale a 'ABC'
Notare che il confronto di stringhe di lunghezza uno è equivalente al confronto di singoli caratteri, byte o bit. Poiché ESQL non dispone di tipi di dati a carattere, byte o bit singoli, è pratica standard l'utilizzo di stringhe di lunghezza uno per confrontare caratteri, byte o bit singoli.