Udostępnij za pośrednictwem


Niejawna konwersja typu danych w wyrażeniach

Niejawna konwersja typu danych występuje, gdy modułu szacującego wyrażenie automatycznie przekształca dane z jednego typu danych na inny.Na przykład jeśli smallint jest porównywany z int, smallint Domyślnie jest konwertowany na int przed wykonaniem porównania.

Modułu szacującego wyrażenie nie może wykonać konwersji niejawnych danych, wówczas, gdy argumentów i argumentów niezgodnych typów.Ponadto modułu szacującego wyrażenie nie można niejawnie przekonwertować wszystkie wartości wartością logiczną.Zamiast tego argumentów i argumentów należy jawnie przekonwertować za pomocą operator rzutowania.Aby uzyskać więcej informacji zobaczObsada (wyrażenia SSIS).

Poniższy diagram przedstawia typ wynik konwersji niejawnych BINARY operacji.Przecięcia kolumna i wiersza w tej tabela jest typ wyniku operacji plik binarny z argumenty po lewej stronie () i w prawo (aby) typów.

Implicit data type conversion between data types

Punkt przecięcia podpisane i liczba całkowita bez znaku jest podpisana liczba całkowita, która potencjalnie większą niż argument albo.

Operatory porównywania ciągów, daty, wartości logiczne i inne typy danych.Przed operator porównuje dwie wartości, modułu szacującego wyrażenie wykonuje pewne konwersji niejawnych.Aby uzyskać więcej informacji, zobacz następujące tematy:

funkcja, która korzysta z pojedynczym argumentem zwraca wynik z takim samym typie danych jako argumentu, z następującymi wyjątkami:

  • DZIEŃ, miesiąc i rok zaakceptować data i zwracają wyniki liczby całkowitej (DT_I4).

  • ISNULL akceptuje wyrażenie wszelkich SSIS Typ danych i zwraca logiczny wynik (DT_BOOL).

  • SQUARE i SQRT zaakceptować wyrażenie liczbowe i zwracania wyniku Całka innych niż liczbowe (DT_R8).

Jeśli argumenty mieć dane tego samego typu, wynik jest tego typu.Jedynym wyjątkiem jest wynik operacji binarnych na dwóch wartości za pomocą DT_DECIMAL typu danych, która zwraca wynik o typie danych DT_NUMERIC.