Quando si confronta un elemento con un altro, variabile o costante, assicurarsi che il valore in base a cui si sta confrontando l'elemento sia coerente (ad esempio, carattere con carattere). Se i valori non sono coerenti, il broker genera un errore di runtime se non può fornire un cast implicito per risolvere l'incongruenza. Per i dettagli su quali cast impliciti siano supportati, consultare Assegnazioni implicite.
E' possibile utilizzare la funzione CAST per trasformare il tipo di dati di un valore in modo che corrisponda al tipo di dati di un altro. Ad esempio, è possibile utilizzare la funzione CAST quando si elaborano i messaggi XML generici. Tutti i campi in un messaggio XML hanno valori carattere, se quindi si desidera eseguire dei calcoli aritmetici o dei confronti di data/ora, ad esempio, è necessario convertire il valore stringa del campo in un valore di tipo appropriato utilizzando CAST.
Nel messaggio Invoice, il campo InvoiceDate contiene la data della fattura. Se si desidera fare riferimento a campo o manipolarlo, è necessario prima utilizzare la funzione CAST per convertirlo nel formato corretto. Ad esempio, per fare riferimento a questo campo in un test:
IF CAST(Body.Invoice.InvoiceDate AS DATE) = CURRENT_DATE THEN
Questo converte il valore stringa del campo InvoiceDate in un valore dati e lo confronta con la data corrente.
Un altro esempio è il cast da numero intero a carattere:
DECLARE I INTEGER 1; DECLARE C CHARACTER; -- La seguente istruzione genera un errore SET C = I; -- La seguente istruzione è valida SET C = CAST(I AS CHARACTER);