Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy:SQL Server
SSIS Integration Runtime w ramach usługi Azure Data Factory
Ta sekcja zawiera przykłady wyrażeń zaawansowanych, które łączą wiele operatorów i funkcji. Jeśli wyrażenie jest używane w ograniczeniu pierwszeństwa lub transformacji podziału warunkowego, musi zostać obliczone na wartość logiczną. To ograniczenie nie ma jednak zastosowania do wyrażeń używanych w wyrażeniach właściwości, zmiennych, przekształceniu pochodnej kolumny lub kontenerze For Loop.
W poniższych przykładach są używane bazy danych AdventureWorks i AdventureWorksDW2025 Microsoft SQL Server. Każdy przykład identyfikuje używane tabele.
Wyrażenia boolowskie
W tym przykładzie użyto tabeli Product . Wyrażenie oblicza wpis miesiąca w kolumnie SellStartDate i zwraca wartość TRUE, jeśli miesiąc to czerwiec lub później.
DATEPART("mm",SellStartDate) > 6W tym przykładzie użyto tabeli Product . Wyrażenie oblicza zaokrąglony wynik dzielenia kolumny ListPrice według kolumny StandardCost i zwraca wartość TRUE, jeśli wynik jest większy niż 1,5.
ROUND(ListPrice / StandardCost,2) > 1.50W tym przykładzie użyto tabeli Product . Wyrażenie zwraca wartość TRUE, jeśli wszystkie trzy operacje mają wartość TRUE. Jeśli kolumna Size i zmienna BikeSize mają niezgodne typy danych, wyrażenie wymaga jawnego rzutu, jak pokazano w drugim przykładzie. Rzutowanie do DT_WSTR zawiera długość ciągu.
MakeFlag == TRUE && FinishedGoodsFlag == TRUE && Size != @BikeSize MakeFlag == TRUE && FinishedGoodsFlag == TRUE && Size != (DT_WSTR,10)@BikeSizeW tym przykładzie użyto tabeli CurrencyRate . Wyrażenie porównuje wartości w tabelach i zmiennych. Zwraca wartość TRUE, jeśli wpisy w kolumnach FromCurrencyCode lub ToCurrencyCode są równe wartościom zmiennych, a wartość w kolumnie AverageRate jest większa od wartości EndOfDayRate.
(FromCurrencyCode == @FromCur || ToCurrencyCode == @ToCur) && AverageRate > EndOfDayRateW tym przykładzie użyto tabeli Waluta . Wyrażenie zwraca wartość TRUE, jeśli pierwszy znak w kolumnie Name nie jest a lub A.
SUBSTRING(UPPER(Name),1,1) != "A"Poniższe wyrażenie zapewnia te same wyniki, ale jest bardziej wydajne, ponieważ tylko jeden znak jest konwertowany na wielkie litery.
UPPER(SUBSTRING(Name,1,1)) != "A"
Wyrażenia inne niż logiczne
Wyrażenia inne niż logiczne są używane w przekształceniu kolumny pochodnej, wyrażeniach właściwości i kontenerze For Loop.
W tym przykładzie użyto tabeli Contact . Wyrażenie usuwa spacje wiodące i końcowe z kolumn FirstName, MiddleName i LastName. Wyodrębnia pierwszą literę kolumny MiddleName, jeśli nie jest pusta, łączy inicjał środkowy z wartościami w kolumnach FirstName i LastName oraz wstawia odpowiednie spacje między tymi wartościami.
TRIM(FirstName) + " " + (!ISNULL(MiddleName) ? SUBSTRING(MiddleName,1,1) + " " : "") + TRIM(LastName)W tym przykładzie użyto tabeli Contact . Wyrażenie weryfikuje wpisy w kolumnie Salutation . Zwraca wpis Salutacji lub pusty ciąg.
(Salutation == "Sr." || Salutation == "Ms." || Salutation == "Sra." || Salutation == "Mr.") ? Salutation : ""W tym przykładzie użyto tabeli Product . Wyrażenie konwertuje pierwszy znak w kolumnie Color na wielkie litery i konwertuje pozostałe znaki na małe litery.
UPPER(SUBSTRING(Color,1,1)) + LOWER(SUBSTRING(Color,2,15))W tym przykładzie użyto tabeli Product . Wyrażenie oblicza liczbę miesięcy sprzedaży produktu i zwraca ciąg "Nieznany", jeśli kolumna SellStartDate lub SellEndDate zawiera wartość NULL.
!(ISNULL(SellStartDate)) && !(ISNULL(SellEndDate)) ? (DT_WSTR,2)DATEDIFF("mm",SellStartDate,SellEndDate) : "Unknown"W tym przykładzie użyto tabeli Product . Wyrażenie oblicza narzut w kolumnie StandardCost i zaokrągla wynik z dokładnością do dwóch miejsc po przecinku. Wynik jest przedstawiany jako wartość procentowa.
ROUND(ListPrice / StandardCost,2) * 100
Powiązane zadania
Używanie wyrażenia w składniku przepływu danych
Powiązana zawartość
Artykuł techniczny, Skrócona instrukcja dotycząca wyrażeń SSIS, opublikowany na stronie pragmaticworks.com