== (Равно) (выражение SSIS)

Область применения:SQL Server среда выполнения интеграции SSIS в Фабрика данных Azure

Выполняет сравнение с целью определения равенства двух выражений. Перед проведением сравнения средство оценки выражений автоматически преобразует большинство типов данных. Дополнительные сведения см. в разделе Integration Services Data Types in Expressions.

Однако для успешного выполнения выражения некоторые типы данных требуют, чтобы выражение включало в себя явное приведение. Дополнительные сведения о допустимых приведениях между типами данных см. в разделе Cast (выражение SSIS).

Синтаксис

  
expression1 == expression2  
  

Аргументы

выражение1, выражение2
Любое допустимое выражение.

Типы результата

DT_BOOL

Замечания

Если какое-нибудь выражение имеет значение NULL, то результат сравнения будет NULL. Если оба выражения имеют значение NULL, то результат будет NULL.

Наборы выражений expression1 и expression2должны удовлетворять одному из следующих правил:

  • Числовой Как expression1 , так и expression2 должны иметь числовой тип данных. Результатом пересечения типов данных должен быть числовой тип данных в соответствии с правилами неявных числовых преобразований, выполняемых модулем вычисления выражений. Пересечение двух числовых типов данных не может быть null. Дополнительные сведения см. в разделе Integration Services Data Types in Expressions.

  • Символ Оба выражения expression1 и expression2 должны вычисляться как тип данных DT_STR или DT_WSTR. Эти два выражения могут вычисляться как разные строковые типы данных.

    Примечание.

    При сравнении строк учитываются регистр, диакритические знаки, кана и ширина символов.

  • Дата, время или дата-время . Значения выражений expression1 и expression2 должны иметь один из следующих типов данных: DT_DBDATE, DT_DATE, DT_DBTIME, DT_DBTIME2, DT_DBTIMESTAMP, DT_DBTIMESTAMP2, DT_DBTIMESTAPMOFFSET и DT_FILETIME.

    Примечание.

    Система не поддерживает сравнения между выражением, результат которого имеет тип данных времени, и выражением, результат которого имеет тип данных либо даты, либо даты и времени. Система выдает ошибку.

    При сравнении выражений система применяет следующие правила преобразования (в порядке их перечисления).

    • Если два выражения дают один и тот же тип данных, выполняется сравнение этого типа данных.

    • Если значение одного из выражений имеет тип данных DT_DBTIMESTAMPOFFSET, то другое будет неявно преобразовано в тип данных DT_DBTIMESTAMPOFFSET, после чего будет произведено сравнение для этого типа. Дополнительные сведения см. в разделе Integration Services Data Types in Expressions.

    • Если одно из выражений имеет тип данных DT_DBTIMESTAMP2, другое выражение неявно преобразуется к типу DT_DBTIMESTAMP2, после чего выполняется сравнение значений типа DT_DBTIMESTAMP2.

    • Если значение одного из выражений имеет тип данных DT_DBTIME2, то другое будет неявно преобразовано в тип данных DT_DBTIME2, после чего будет произведено сравнение для этого типа.

    • Если значение одного из выражений имеет тип данных, отличный от DT_DBTIMESTAMPOFFSET, DT_DBTIMESTAMP2 или DT_DBTIME2, то перед началом сравнения значения будут преобразованы в тип данных DT_DBTIMESTAMP.

    При сравнении выражений система исходит из следующих предположений.

    • Если каждое выражение имеет тип данных, включающий доли секунды, система предполагает, что в типе данных с наименьшим количеством разрядов для долей секунды остальные разряды заполнены нулями.

    • Если каждое выражение имеет тип данных date, но только одно из них содержит смещение часового пояса, система предполагает, что тип данных date без смещения часового пояса задан в координированном всемирном времени (UTC).

  • Логический Значения expression1 и expression2 должны иметь логический тип данных.

  • GUID . Значения выражений expression1 и expression2 должны иметь тип данных DT_GUID.

  • Двоичный тип Оба выражения expression1 и expression2 должны возвращать тип данных DT_BYTES.

  • BLOB Оба выражения, expression1 и expression2, должны вычисляться как один и тот же тип данных BLOB (большой двоичный объект): DT_TEXT, DT_NTEXT или DT_IMAGE.

Дополнительные сведения о типах данных см. в разделе Integration Services Data Types.

Примеры выражений

Этот пример возвращает значение TRUE, если текущая дата равна 4 июля 2003 года. Дополнительные сведения см. в разделе GETDATE (выражение Integration Services).

"7/4.2003" == GETDATE()

Этот пример вычисляет, что значение равно TRUE, если значение столбца ListPrice равно 500.

ListPrice == 500  

В данном примере используется переменная LPrice. Он возвращает TRUE, если значение LPrice равно 500. Чтобы выполнился синтаксический анализ выражения, тип данных этой переменной должен быть числовым.

@LPrice == 500