Неявное преобразование типов данных в выражениях
Неявное преобразование типа данных происходит, когда средство оценки выражений автоматически преобразует данные из одного типа в другой. Например, если smallint сравнивается с int, то перед сравнением smallint неявно преобразуется в int.
Средство оценки выражений не может произвести неявное преобразование данных, если аргументы и операнды имеют несовместимые типы данных. Кроме того, средство оценки выражений не может неявно преобразовывать любое значение в логическое. Вместо этого аргументы и операнды должны быть явно преобразованы с помощью оператора приведения. Дополнительные сведения см. в разделе Приведение (службы SSIS).
На следующей диаграмме показан тип результата неявного преобразования операций BINARY. Пересечение столбцов и строк в этой таблице является типом результата побитовой операции с операндами левого (From) и правого (To) типов.
Пересечением целых чисел со знаком и без знака является целое число со знаком, которое потенциально больше любого из этих двух аргументов.
Операторы позволяют сравнивать строки, даты, логические значения и другие типы данных. Прежде чем оператор сравнит два значения, средство оценки выражений производит определенные неявные преобразования. Дополнительные сведения см. в разделах
Функция, которая использует один аргумент, возвращает результат того же типа данных, что и аргумент, со следующими исключениями.
Функции DAY, MONTH и YEAR принимают дату и возвращают целочисленный результат (DT_I4).
Функция ISNULL принимает выражения любого типа данных SSIS и возвращает результат логического типа данных (DT_BOOL).
Функции SQUARE и SQRT принимают числовые выражения и возвращают нецелочисленный результат (DT_R8).
Если тип данных обоих аргументов совпадает, тип данных результата будет таким же. Единственное исключение заключается в том, что побитовая операция над двумя значениями типа данных DT_DECIMAL возвращает результат типа данных DT_NUMERIC.
См. также