Operatori di confronto (Motore di database)
Gli operatori di confronto sono utilizzati con dati alfabetici, numerici o di data e possono essere utilizzati nella clausola WHERE o HAVING di una query. Questi operatori restituiscono un tipo di dati booleano, ovvero TRUE o FALSE, a seconda che venga soddisfatta o meno la condizione specificata.
Ad esempio, per calcolare il premio produzione per i dipendenti assunti fino al 15 marzo 1998, è necessario verificare per ciascun dipendente se il valore hire_date è minore o uguale alla data 15 marzo 1998 in modo da ottenere l'elenco dei dipendenti a cui spetta il premio produzione.
Gli operatori di confronto validi sono i seguenti:
> (maggiore di)
< (minore di)
= (uguale)
<= (minore o uguale)
>= (maggiore o uguale)
!= (diverso da)
<> (diverso da)
!< (non minore di)
!> (non maggiore di)
Gli operatori di confronto possono inoltre essere utilizzati nella logica del programma per verificare una condizione. Ad esempio, se il valore corrispondente a un paese/area geografica è UK anziché Spagna, potrebbe essere necessario applicare tariffe di spedizione diverse. In questo caso, per ottenere il risultato desiderato è necessario utilizzare una combinazione di più elementi, ovvero un operatore di confronto, un'espressione (il nome della colonna), un valore letterale ("UK") e una parola chiave di programmazione per il controllo del flusso (IF).
Se si dispone delle autorizzazioni di accesso ai dati per l'esecuzione di query, è possibile utilizzare gli operatori di confronto in query aggiuntive. Nel caso di istruzioni che comportano la modifica dei dati, è consigliabile utilizzare gli operatori di confronto solo se si è certi di disporre delle autorizzazioni adeguate e del fatto che i dati saranno modificati unicamente da un gruppo limitato di utenti. Ciò contribuirà a mantenere l'integrità dei dati.
Nelle query vengono utilizzati anche confronti tra stringhe per confrontare il valore di una variabile locale, di un cursore o di una colonna con una costante. Ad esempio, si supponga di dover stampare tutte le righe cliente per le quali il paese/area geografica sia UK. Nella tabella seguente vengono illustrati esempi di confronti tra stringhe tra dati Unicode e non Unicode. ST1 è char e ST2 è nchar.
Confronto |
Descrizione |
---|---|
ST1 = ST2 |
Equivale a CONVERT(nchar, ST1) = ST2 o CAST(ST1 AS nchar) = ST2. |
ST1 = 'stringa non Unicode' |
Confronto normale tra stringhe ISO. |
ST2 = 'stringa non-Unicode' |
Equivale a ST2 = CONVERT(nchar, 'stringa non-Unicode') o ST2 = CAST('stringa non-Unicode' AS nchar). |
ST2 = N'stringa Unicode' |
Confronto Unicode. |
CONVERT(nchar, ST1) = ST2 o CAST(ST1 AS nchar) = ST2 |
Confrontro Unicode. |
ST1 = CONVERT(char, ST2) o ST1 = CAST(ST2 AS char) |
Confronto normale tra stringhe ISO. |
N'' (stringa Unicode vuota tra parentesi) |
Stringa vuota. |
'' (stringa non Unicode vuota) |
Stringa vuota o contenente un carattere vuoto, a seconda delle impostazioni ISO. |
Vedere anche