Share via


Conversión implícita de tipo de datos en expresiones

Una conversión implícita de un tipo de datos tiene lugar cuando el evaluador de expresiones convierte automáticamente los datos de un tipo a otro. Por ejemplo, si se comparan datos de tipo smallint con datos de tipo int, antes de realizar la comparación, los datos de tipo smallint se convierten implícitamente al tipo int.

El evaluador de expresiones no puede realizar una conversión de datos implícita cuando los argumentos y operandos tienen tipos de datos incompatibles. Además, el evaluador de expresiones no puede convertir implícitamente cualquier valor a un valor booleano. En lugar de ello, los argumentos y operandos se deben convertir explícitamente utilizando el operador de conversión. Para obtener más información, vea Cast (expresión de SSIS): conversión de tipos de datos de SSIS.

En el siguiente diagrama se muestra el tipo de resultado de las conversiones implícitas de las operaciones binarias. La intersección de la columna y la fila en esta tabla es el tipo de resultado de una operación binaria con operandos de los tipos izquierdo (From) y derecho (To).

Conversión implícita de tipo de datos entre tipo de datos

La intersección de un entero con signo y un entero sin signo es un entero con signo posiblemente más grande que cualquiera de los argumentos.

Los operadores comparan cadenas, fechas, booleanos y otros tipos de datos. Antes de que un operador compare dos valores, el evaluador de expresiones realizará determinadas conversiones implícitas. Para obtener más información, vea los siguientes temas:

Una función de un solo argumento devuelve un resultado con el mismo tipo de datos del argumento, con las siguientes excepciones:

  • DAY, MONTH y YEAR aceptan una fecha y devuelven un resultado entero (DT_I4).

  • ISNULL acepta una expresión con cualquier tipo de datos de SSIS y devuelve un resultado booleano (DT_BOOL).

  • SQUARE y SQRT aceptan una expresión numérica y devuelven un resultado numérico no integral (DT_R8).

Si los argumentos tienen el mismo tipo de datos, el resultado es de ese tipo. La única excepción es el resultado de una operación binaria aplicada a dos valores con el tipo de datos DT_DECIMAL, que devuelve un resultado con el tipo de datos DT_NUMERIC.

Recursos externos

Artículo técnico, Referencia rápida de expresiones de SSIS, en pragmaticworks.com