Typy danych usług integracji w wyrażeniach
Tester wyrażenie używa Integration Services typów danych.Gdy dane najpierw wprowadzi przepływ danych w Integration Services pakiet, aparat przepływu danych konwertuje wszystkie kolumna danych do Integration Services Typ danych i kolumna dane wyrażenie używa już ma Integration Services typu danych.Wyrażenia użyte w warunkowych podziału i przekształcenia kolumn pochodnych można odwoływać się do kolumn, ponieważ są one częścią przepływ danych, zawierający kolumna danych.
Wyrażenia można również używać zmiennych.Zmienne mają typ danych Variant i Tester wyrażenie konwertuje podtypu wariant typ danych zmiennej Integration Services Typ danych przed wynikiem jest wyrażenie.Zmienne można używać tylko podzbiór Integration Services typów danych.Na przykład zmienna nie można użyć typu danych binarna bloku obiektu duży (BLOB).
Więcej informacji o Integration Services typów danych i mapowania danych Variant typów do Integration Services typów danych, zobacz Typy danych usług integracji.
Ponadto wyrażenia mogą zawierać ciąg, wartość logiczna i literałów numerycznych.Tester wyrażenie zawsze konwertuje ciąg literałów typu DT_WSTR i konwertuje literałów wartości logicznych, typ danych DT_BOOL.Tester wyrażenie interpretuje wszystkie wartości ujęte w cudzysłów jako ciągi.Stałe numeryczne są konwertowane na jedną numeryczna Integration Services typów danych.Aby uzyskać więcej informacji o konwertowaniu literałów numerycznych na liczbowe Integration Services typów danych, zobacz Literały (SSIS).
Ostrzeżenie
wartość logicznawartościami są wartości logiczne nie liczby.Chociaż wartość logiczna wartości mogą być wyświetlane jako liczby w niektórych środowiskach, nie są przechowywane jako liczby i reprezentują różne języki programowania wartość logiczna inaczej, tak jak wartości jako wartości liczbowe.NET Framework metody.
Na przykład konwertować funkcje konwersji dostępne w języku Visual Basic True -1; jednak metodaSystem.Convert.ToInt32 .NET Framework konwertuje True do + 1. Integration Services Konwertuje wyrażenia języka True -1.
Aby uniknąć błędów lub nieoczekiwane wyniki, nie powinny napisanie kodu, który zależy od określonej wartości liczbowe dla True i False.Tam gdzie to możliwe, należy ograniczyć użycie zmienne typu wartość logiczna wartościami logicznymi, dla których są przeznaczone.
Wymagania dotyczące danych używanych w wyrażeniach
Tester wyrażenie obsługuje wszystkie Integration Services typów danych.W zależności od operacji lub funkcja operandów i argumentów wymaga jednak pewne typy danych.Tester wyrażenie nakłada następujące wymagania typu danych na dane używane w wyrażeniach:
Argumenty używane w logiczne operacji musi dawać w wyniku wartość logiczna.Na przykład, ColumnA > 1&&ColumnB < 2.
Argumenty używane w matematycznych operacji musi dawać w wyniku wartość liczbową.Na przykład 23.75 * 4.
Operandy, takich jak używane w operacjach porównania, logiczne i równości operacji musi ocenić typy danych zgodne.
Na przykład jedno z wyrażeń w poniższym 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"
System konwertuje wyrażenie, (DT_DBDATE)"1999-10-12", DT_DBTIMESTAMPOFFSET.Przykład ocenia 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 mogą być wymagane dane liczbowe określonego typu.Na przykład funkcja HEX wymaga całkowitą podpisem lub bez.
Argumenty przekazywane do ciąg obliczają musi typu znakowego: DT_STR lub DT_WSTR.Na przykład UPPER("flower").Niektóre funkcje ciąg, takie jak PODCIĄG, wymagają całkowitą dodatkowe argumenty dla pozycji początkowej i długość ciągu.
Argumenty przekazywane do data i czas obliczają musi 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, łączących niepodpisane 8 bajtowa liczba całkowita i liczba całkowita ze znakiem wymagają jawne oddanych wyjaśnienie formatu wynik.Aby uzyskać więcej informacji, zobacz Rzutowanie (wyrażenie SSIS): Konwersję typów danych SSIS.
Wyniki wielu działaniach i funkcjach wstępnie określoną typów danych.Może to być typ danych argumentu lub typ danych, do którego modułu szacującego wyrażenie posługując się miarką wynik.Na przykład wynik logiczny operator lub (|) jest zawsze wartość logiczna, wynik funkcja ABS jest typ danych numerycznych argumentu, a wynik mnożenia jest najmniejszą typ danych numerycznych, który może przechowywać wynik bez utraty.Aby uzyskać więcej informacji o typach danych wyniki, zobacz Operatory (wyrażenie SSIS) i Ciąg funkcji i inne funkcje (wyrażenie SSIS).