Udostępnij za pośrednictwem


Typy danych usług integracja w wyrażeniach

Korzysta z modułu szacującego wyrażenie Integration Services typy danych. Gdy dane najpierw wprowadza przepływ danych w Integration Services pakiet danych aparatu przepływu konwertuje wszystkie kolumna danych do Integration Services Typ danych, a kolumna danych, w których wyrażenie zastosowano już ma Integration Services Typ danych. Wyrażenia używane w podziału warunkowe oraz kolumna pochodna przekształcenia mogą odwoływać się do kolumn, ponieważ są one częścią przepływ danych, zawierający kolumnę danych.

Wyrażenia można również używać zmiennych.Zmienne ma typ danych Variant i modułu szacującego wyrażenie konwertuje typ danych zmiennej z podtypu Variant do Integration Services Typ danych przed daje wynik wyrażenia. Zmiennych można używać tylko podzbiór Integration Services typy danych. Na przykład zmiennej nie można użyć typu danych Binarna dużych obiektów blok (BLOB).

Aby uzyskać więcej informacji na temat Integration Services typy danych i mapowania typów danych Variant do Integration Services typy danych, zobacz Typy danych usług integracja.

Ponadto wyrażenia mogą zawierać ciąg znaków, logiczny i literałów numerycznych.Zawsze konwertuje literały ciągów znaków do typu danych DT_WSTR modułu szacującego wyrażenie i konwertuje logiczny literały DT_BOOL typ danych.Modułu szacującego wyrażenie interpretuje wszystkie wartości ujęte w cudzysłów jako ciągi znaków.Literały numeryczne są konwertowane na jeden z numeryczna Integration Services typy danych. Aby uzyskać więcej informacji na temat konwertowania literałów numerycznych numeryczne Integration Services typy danych, zobacz Literały (wyrażenia SSIS).

Uwaga

logiczny wartości logicznych, nie liczb.Mimo że wartości logiczne mogą być wyświetlane jako liczby w niektórych środowiskach, nie są one przechowywane jako liczby i reprezentują różne języki programowania wartości logiczne jako wartości liczbowe inaczej, co do metod systemu .NET Framework.

Na przykład konwertować funkcji konwersji dostępnych w języku Visual Basic True -1; jednak System.Convert.ToInt32 Konwertuje metoda w programie .NET Framework True do + 1. The Integration Services wyrażenie Language converts True to -1.

Aby uniknąć błędów lub nieoczekiwanych wyniki, należy nie napisanie kodu, który zależy od określonej wartości liczbowe dla True i False. Tam, gdzie jest to możliwe, należy ograniczyć użycie zmienne typu logiczny do uzyskania wartości logicznych, dla którego są one przeznaczone.

Wymagania dotyczące danych używanych w wyrażeniach

Modułu szacującego wyrażenie obsługuje wszystkie Integration Services typy danych. Jednak w zależności od operacji lub funkcja operandów i argumentów wymaga pewnych typów danych.Modułu szacującego wyrażenie nakłada następujące wymagania typu danych używanych w wyrażeniach danych:

  • Argumenty używane w logiczne operacji musi dawać w wyniku logiczny.Na przykład ColumnA > 1&&ColumnB < 2.

  • Argumenty używane w matematyczne operacji musi dawać w wyniku wartość liczbową.Na przykład 23.75 * 4.

  • Argumenty używane w operacjach porównania, takie jak logicznych i operacje równości musi dawać w wyniku typy danych zgodne.

    Na przykład jedno z wyrażeń w następującym przykładzie używa typu danych DT_DBTIMESTAMPOFFSET:

    (DT_DBTIMESTAMPOFFSET,3) "1999-10-11 20:34:52.123 -3:30" != (DT_DBDATE)"1999-10-12"

    Wyrażenie, konwertuje systemu (DT_DBDATE)"1999-10-12", aby DT_DBTIMESTAMPOFFSET. W przykładzie wynikiem jest na wartość TRUE, ponieważ wyrażenie przekonwertowanych staje się "00:00:00.000 1999-10-12 + 00: 00", która nie jest równa wartości innego wyrażenia (DT_DBTIMESTAMPOFFSET,3) "1999-10-11 20:34:52.123 -3:30".

  • Argumenty przekazywane do funkcji matematycznych powinny być typ danych numerycznych.W zależności od funkcja lub operacji typ danych numerycznych określonych może być wymagane.Na przykład funkcja HEX wymaga podpisane lub niepodpisane liczby całkowitej.

  • Argumenty przekazywane do funkcji ciągów powinny być typu danych znak: DT_STR lub DT_WSTR. Na przykład UPPER("flower").Niektóre funkcje łańcuchowe, takich jak SUBSTRING, wymagają dodatkowych całkowitą argumenty dla pozycji początkowej i długości ciąg.

  • Argumenty przekazywane do funkcji data i czas powinny być prawidłową data.Na przykład DAY(GETDATE()).Niektóre funkcje, takie jak DATEADD, wymaga argumentu dodatkowe całkowitą liczbę dni, funkcja dodaje do data.

Operacje, które łączą 8 bajtowa liczba całkowita bez znaku i podpisana liczba całkowita wymagają jawne rzutowania wyjaśnienie formatu wyników.Aby uzyskać więcej informacji zobaczObsada (wyrażenia SSIS).

Wyniki wielu działaniach i funkcjach są wstępnie określone typy danych.Może to być typu argumentu lub typ danych, do którego modułu szacującego wyrażenie rzutowana wynik.Na przykład, zawsze jest wynikiem operator logicznego OR (|) a logiczny, w wyniku działania funkcja ABS jest typ danych numerycznych w argumencie, a wynik mnożenia jest najmniejszą typ danych numerycznych, który może przechowywać wynik bez utraty.Aby uzyskać więcej informacji na temat typów danych wyniki Zobacz Operatory (wyrażenia SSIS) i Funkcje (wyrażenia SSIS).