== (равно) (службы SSIS)
Выполняет сравнение с целью определения равенства двух выражений. Перед проведением сравнения средство оценки выражений автоматически преобразует большинство типов данных. Дополнительные сведения см. в разделе Неявное преобразование типов данных в выражениях.
Однако для успешного выполнения выражения некоторые типы данных требуют, чтобы выражение включало в себя явное приведение типов. Дополнительные сведения о допустимых операциях приведения типов данных см. в разделе Приведение (службы SSIS).
Синтаксис
expression1 == expression2
Аргументы
- expression1, expression2
Любое допустимое выражение.
Типы результата
DT_BOOL
Замечания
Если какое-нибудь выражение имеет значение NULL, то результат сравнения будет NULL. Если оба выражения имеют значение NULL, то результат будет NULL.
Наборы выражений expression1 и expression2 должны удовлетворять одному из следующих правил:
Числовой Как expression1, так и expression2 должны иметь числовой тип данных. В соответствии с правилами неявных числовых преобразований, выполняемых средством оценки выражений, пересечением типов данных должен быть целочисленный тип данных. NULL не может быть значением пересечения двух числовых типов данных. Дополнительные сведения см. в разделе Неявное преобразование типов данных в выражениях.
Символьный Значения выражений 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.
Если значение одного из выражений имеет тип данных DT_DBTIMESTAMP2, то другое будет неявно преобразовано в тип данных DT_DBTIMESTAMP2, после чего будет произведено сравнение для этого типа.
Если значение одного из выражений имеет тип данных DT_DBTIME2, то другое будет неявно преобразовано в тип данных DT_DBTIME2, после чего будет произведено сравнение для этого типа.
Если значение одного из выражений имеет тип данных, отличный от DT_DBTIMESTAMPOFFSET, DT_DBTIMESTAMP2 или DT_DBTIME2, то перед началом сравнения значения будут преобразованы в тип данных DT_DBTIMESTAMP.
При сравнении выражений система исходит из следующих предположений.
Если оба выражения имеют тип данных, включающий доли секунды, то предполагается, что для типа, имеющего меньшее число разрядов, в недостающих разрядах содержатся нули.
Если оба выражения имеют тип даты, но смещение часового пояса присутствует только у одного из них, то предполагается, что дата без смещения выражена по Гринвичу (UTC).
Логический Значения expression1 и expression2 должны иметь логический тип данных.
GUID Значения expression1 и expression2 должны иметь тип данных DT_GUID.
Двоичный Значения expression1 и expression2 должны иметь тип данных DT_BYTES.
BLOB Значения expression1 и expression2 должны иметь один и тот же тип данных больших двоичных объектов (BLOB): DT_TEXT, DT_NTEXT или DT_IMAGE.
Дополнительные сведения о типах данных см. в разделе Типы данных служб Integration Services.
Примеры
Этот пример вычисляет, что значение равно TRUE, если текущая дата — 4 июля 2003 г. Дополнительные сведения см. в разделе GETDATE (службы SSIS).
"7/4/2003" == GETDATE()
Этот пример вычисляет, что значение равно TRUE, если значение столбца ListPrice равно 500.
ListPrice == 500
В данном примере используется переменная LPrice. Результат будет равен TRUE, если значение LPrice равно 500. Тип данных переменной должен быть числовым, чтобы выражение могло успешно пройти синтаксический анализ.
@LPrice == 500
См. также