Cuando compara un elemento con otro elemento, variable o constante, asegúrese de que el valor con el que está comparando el elemento sea coherente, por ejemplo, carácter con carácter. Si los valores no son coherentes, el intermediario genera un error de tiempo de ejecución si no puede proporcionar una transformación CAST implícita para resolver la incoherencia. Para obtener información detallada acerca de las transformaciones CAST implícitas soportadas, consulte Transformaciones CAST implícitas.
Puede utilizar la función CAST para transformar el tipo de datos de un valor de modo que coincida con el tipo de datos de otro. Por ejemplo, puede utilizar la función CAST cuando procesa los mensajes XML genéricos. Todos los campos de un mensaje XML tienen valores de caracteres, por lo tanto, si desea realizar cálculos aritméticos o comparaciones de hora y fecha, por ejemplo, debe convertir el valor de la serie de caracteres de campo en un valor del tipo adecuado utilizando CAST.
En el mensaje Invoice, el campo InvoiceDate contiene la fecha de la factura. Si desea consultar o manipular este campo, en primer lugar debe realizar la transformación CAST del mismo al formato correcto. Por ejemplo, para hacer referencia a este campo en una prueba:
IF CAST(Body.Invoice.InvoiceDate AS DATE) = CURRENT_DATE THEN
Esto convierte el valor de la serie de caracteres del campo InvoiceDate en un valor de fecha y lo compara con la fecha actual.
Otro ejemplo es la transformación CAST de entero a carácter:
DECLARE I INTEGER 1; DECLARE C CHARACTER; -- La sentencia siguiente genera un error SET C = I; -- La sentencia siguiente es válida SET C = CAST(I AS CHARACTER);