Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Specifica le regole per il confronto di due stringhe di lunghezze diverse.
Sintassi
SET EXACT ON | OFF
Argomenti
ATTIVO
Specifica che le espressioni devono corrispondere al carattere affinché il carattere sia equivalente. Gli eventuali spazi vuoti finali nelle espressioni vengono ignorati per il confronto. Per il confronto, il più breve delle due espressioni viene riempito a destra con spazi vuoti in modo che corrisponda alla lunghezza dell'espressione più lunga.
SPENTO
Impostazione predefinita. Specifica che, per essere equivalenti, le espressioni devono corrispondere al carattere per il carattere finché non viene raggiunta la fine dell'espressione sul lato destro.
Osservazioni:
L'impostazione SET EXACT non ha alcun effetto se entrambe le stringhe hanno la stessa lunghezza.
Confronti tra stringhe
Visual FoxPro ha due operatori relazionali che testano l'uguaglianza.
L'operatore = esegue un confronto tra due valori dello stesso tipo. Questo operatore è adatto per il confronto di dati di tipo carattere, numerico, data e logico.
Tuttavia, quando si confrontano espressioni di caratteri con l'operatore = , i risultati potrebbero non essere esattamente quello previsto. Le espressioni di caratteri vengono confrontate con il carattere da sinistra a destra fino a quando una delle espressioni non è uguale all'altra, fino alla fine dell'espressione sul lato destro dell'operatore = viene raggiunta (SET EXACT OFF) o fino al raggiungimento delle estremità di entrambe le espressioni (SET EXACT ON).
L'operatore == può essere usato quando è necessario un confronto esatto dei dati di tipo carattere. Se due espressioni di caratteri vengono confrontate con l'operatore == , le espressioni su entrambi i lati dell'operatore == devono contenere esattamente gli stessi caratteri, inclusi gli spazi vuoti, da considerare uguali. L'impostazione SET EXACT viene ignorata quando le stringhe di caratteri vengono confrontate con ==.
Nella tabella seguente viene illustrato come la scelta dell'operatore e l'impostazione SET EXACT influiscono sui confronti. Un carattere di sottolineatura rappresenta uno spazio vuoto.
| Confronto | = EXACT OFF | = EXACT ON | == EXACT ON o OFF |
|---|---|---|---|
| "abc" = "abc" | Partita | Partita | Partita |
| "ab" = "abc" | Nessuna corrispondenza | Nessuna corrispondenza | Nessuna corrispondenza |
| "abc" = "ab" | Partita | Nessuna corrispondenza | Nessuna corrispondenza |
| "abc" = "ab_" | Nessuna corrispondenza | Nessuna corrispondenza | Nessuna corrispondenza |
| "ab" = "ab_" | Nessuna corrispondenza | Partita | Nessuna corrispondenza |
| "ab_" = "ab" | Partita | Partita | Nessuna corrispondenza |
| "" = "ab" | Nessuna corrispondenza | Nessuna corrispondenza | Nessuna corrispondenza |
| "ab" = "" | Partita | Nessuna corrispondenza | Nessuna corrispondenza |
| "__" = "" | Partita | Partita | Nessuna corrispondenza |
| "" = "___" | Nessuna corrispondenza | Partita | Nessuna corrispondenza |
| TRIM("___") = "" | Partita | Partita | Partita |
| "" = TRIM("___") | Partita | Partita | Partita |