Funkcje wyrażeń
Ostatnia aktualizacja: 28.10.2026Użyj funkcji, aby przekształcać wartości wierszy, obsługiwać brakujące dane lub pobierać powiązane wartości podczas tworzenia wyrażeń. Aby uzyskać szczegółowe informacje, zobacz temat Tworzenie wyrażeń.
Poniższe funkcje opisują wyrażenia zadań przenoszenia w zadaniach umieszczania zarządzanych przez SaaS, umieszczania w usłudze lake i replikacji. Użyj sygnatury funkcji wyświetlanej w swoim edytorze. Nawiasy kwadratowe w sygnaturach oznaczają argumenty opcjonalne; nie należy wpisywać nawiasów.
W przypadku funkcji CDC Storage i Streaming Transform zobacz Funkcje transformacji. W przypadku wyrażeń magazynu, transformacji i składnic danych wykonywanych na platformie danych w chmurze należy używać składni funkcji tej platformy.
Funkcje ciągów znaków
Funkcje prefiksu i sufiksu działają na początku lub końcu ciągu znaków. Zastępowanie znaków działa na poszczególne znaki, zamiast dopasowywać cały prefiks lub sufiks.
| Funkcja | Zachowanie i argumenty | Przykład i wynik |
|---|---|---|
$CONCAT(X, Y)
|
Łączy dwa ciągi znaków X i Y w tej kolejności. Zwraca wartość NULL, jeśli którykolwiek argument ma wartość NULL. Zagnieżdżaj wywołania, aby połączyć więcej niż dwa ciągi znaków. |
$CONCAT('My', 'Picture') zwraca 'MyPicture'. $CONCAT('My', NULL) zwraca NULL. |
$INSTR(string, substring)
|
Zwraca liczoną od 1 pozycję pierwszego wystąpienia substring w string. Zwraca 0, jeśli podciąg nie zostanie znaleziony. |
$INSTR('mystring', 'ing') zwraca 6. $INSTR('mystring', 'xyz') zwraca 0. |
$LENGTH(string)
|
Zwraca liczbę znaków w string, a nie jego rozmiar w bajtach. |
$LENGTH('mystring') zwraca 8. |
$LOWER(string)
|
Zwraca kopię string z literami ASCII przekonwertowanymi na małe litery. |
$LOWER('ABC') zwraca 'abc'. |
$LTRIM(string[, characters])
|
Usuwa znaki z początku string. Opcjonalny argument characters to zbiór znaków do usunięcia, a nie prefiks. W przypadku pominięcia usuwa spacje. |
$LTRIM(' orders') zwraca 'orders'. $LTRIM('@@orders', '@') zwraca 'orders'. |
$REMOVE_PREFIX(string, prefix)
|
Zwraca kopię string z usuniętym określonym początkowym prefix. |
$REMOVE_PREFIX('mystring', 'my') zwraca 'string'. |
$REMOVE_SUFFIX(string, suffix)
|
Zwraca kopię string z usuniętym określonym zakończeniem suffix. |
$REMOVE_SUFFIX('mystring', 'ing') zwraca 'mystr'. |
$REPLACE(string, pattern, replacement)
|
Zastępuje każde wystąpienie pattern w string przez replacement. Wszystkie trzy argumenty są wymagane. Użyj pustego ciągu zamiennego, aby usunąć pasujący tekst. |
$REPLACE('a-b-c', '-', '_') zwraca 'a_b_c'. $REPLACE('a-b', '-', '') zwraca 'ab'. |
$REPLACE_CHARS(string, chars, replacement)
|
Zastępuje każdy znak wymieniony w chars znakiem na tej samej pozycji w replacement. Niewymienione znaki pozostają bez zmian. Jeśli brakuje pozycji zastępczej, używany jest pierwszy znak zastępczy. |
$REPLACE_CHARS('mystring', 's', 'z') zwraca 'myztring'. $REPLACE_CHARS('abcde', 'abcd', '123') zwraca '1231e'. |
$REPLACE_PREFIX(string, prefix, replacement)
|
Zamienia początkowe prefix w string na replacement. |
$REPLACE_PREFIX('mystring', 'my', 'new') zwraca 'newstring'. |
$REPLACE_SUFFIX(string, suffix, replacement)
|
Zastępuje końcowe suffix w string za pomocą replacement, zamiast zastępować każde wystąpienie. |
$REPLACE_SUFFIX('mystring', 'ing', 'new') zwraca 'mystrnew'. |
$RTRIM(string[, characters])
|
Usuwa znaki z końca string. Opcjonalny argument characters to zestaw znaków do usunięcia, a nie sufiks. W przypadku pominięcia usuwa spacje. |
$RTRIM('orders ') zwraca 'orders'. $RTRIM('orders@@', '@') zwraca 'orders'. |
$SUBSTR(string, start[, length])
|
Wyodrębnia tekst z string, zaczynając od pozycji start liczonej od 1. length określa liczbę znaków. W przypadku pominięcia zwraca pozostałe znaki. |
$SUBSTR('abcdef', 2, 3) zwraca 'bcd'. |
$TRIM(string[, characters])
|
Usuwa znaki z obu końców string. Opcjonalny argument characters to zbiór znaków do usunięcia, a nie podciąg. W przypadku pominięcia usuwa spacje. |
$TRIM(' orders ') zwraca 'orders'. $TRIM('@#orders#@', '@#') zwraca 'orders'. |
$UNICODE(string)
|
Zwraca numeryczny punkt kodowy Unicode pierwszego znaku w string. Argument musi być ciągiem znaków. |
$UNICODE('ABC') zwraca 65. |
$UPPER(string)
|
Zwraca kopię string z literami ASCII zamienionymi na wielkie litery. |
$UPPER('abc') zwraca 'ABC'. |
Funkcje liczbowe
Użyj tych funkcji, aby obliczyć wartości liczbowe dla bieżącego wiersza. $MAX i $MIN porównują argumenty w obrębie wiersza, a nie wartości między wierszami.
| Funkcja | Zachowanie i argumenty | Przykład i wynik |
|---|---|---|
$ABS(X)
|
Zwraca wartość bezwzględną argumentu liczbowego X. |
$ABS(-20) zwraca 20. |
$MAX(arg1, arg2, ...)
|
Zwraca największą wartość spośród podanych argumentów liczbowych. Podaj co najmniej dwa argumenty. | $MAX(10, 4, 20, 9) zwraca 20. |
$MIN(arg1, arg2, ...)
|
Zwraca najmniejszą wartość spośród podanych argumentów liczbowych. Podaj co najmniej dwa argumenty. | $MIN(10, 4, 20, 9) zwraca 4. |
$RANDOM()
|
Zwraca pseudolosową liczbę całkowitą ze znakiem. Nie przyjmuje żadnych argumentów. | $RANDOM() zwraca liczbę całkowitą, która może być ujemna, równa zero lub dodatnia. Jej wartość zmienia się między wywołaniami. |
$ROUND(value[, digits])
|
Zaokrągla value do digits miejsc po przecinku i zwraca wartość zmiennoprzecinkową. Jeśli pominięto digits, zaokrągla do zera miejsc po przecinku. |
$ROUND(3.141592, 3) zwraca 3.142. |
Funkcje LOB
Te funkcje współpracują z dużymi obiektami binarnymi (BLOB). Argument size N określa bajty, a nie znaki.
| Funkcja | Zachowanie i argumenty | Przykład i wynik |
|---|---|---|
$HEX(blob)
|
Zwraca tekst szesnastkowy zapisany wielkimi literami, reprezentujący bajty blob. Liczbowe dane wejściowe są najpierw konwertowane na tekst; wynik nie jest reprezentacją maszynową liczby. |
$HEX(X'4142') zwraca '4142'. |
$RANDOM_BLOB(N)
|
Zwraca N pseudolosowych bajtów. Jeśli N jest mniejsze niż 1, zwraca jeden bajt. Nie należy używać tej funkcji jako gwarancji kryptograficznej losowości. |
$RANDOM_BLOB(4) zwraca czterobajtowy obiekt BLOB. Jej wartość zmienia się między wywołaniami. |
$ZERO_BLOB(N)
|
Zwraca obiekt BLOB zawierający N bajtów zerowych. |
$HEX($ZERO_BLOB(3)) zwraca '000000'. |
Funkcje sprawdzające wartości NULL
| Funkcja | Zachowanie i argumenty | Przykład i wynik |
|---|---|---|
$COALESCE(X, Y, ...)
|
Zwraca pierwszy argument różny od NULL, w kolejności argumentów. Podaj co najmniej dwa argumenty. Jeśli wszystkie argumenty mają wartość NULL, wynikiem jest NULL. Pusty ciąg znaków nie jest wartością NULL. | $COALESCE(NULL, 'Unknown') zwraca 'Unknown'. $COALESCE('', 'Unknown') zwraca pusty ciąg znaków. |
$IFNULL(X, Y)
|
Zwraca X, jeśli nie ma wartości NULL; w przeciwnym razie zwraca Y. Zwraca wartość NULL, jeśli oba argumenty mają wartość NULL. Podaj dokładnie dwa argumenty. |
$IFNULL(NULL, 'Unknown') zwraca 'Unknown'. $IFNULL('Known', 'Unknown') zwraca 'Known'. |
$NULLIF(X, Y)
|
Zwraca wartość NULL, jeśli X i Y są równe; w przeciwnym razie zwraca X. Podaj dokładnie dwa argumenty. |
$NULLIF('Unknown', 'Unknown') zwraca NULL. $NULLIF('Known', 'Unknown') zwraca 'Known'. |
Funkcje daty i czasu
Podaj ciąg znaków daty, godziny lub daty i godziny, taki jak '2026-10-08', '12:34:56' lub '2026-10-08 12:34:56'. Umieszczaj stałe daty w cudzysłowie, aby łączniki nie zostały zinterpretowane jako odejmowanie.
| Funkcja | Zachowanie i argumenty | Przykład i wynik |
|---|---|---|
$DATE(date_string)
|
Zwraca datę z date_string jako tekst w formacie YYYY-MM-DD. |
$DATE('2026-10-08') zwraca '2026-10-08'. |
$DATETIME(datetime_string)
|
Zwraca datę i godzinę z datetime_string jako tekst w formacie YYYY-MM-DD HH:MM:SS transportu. |
$DATETIME('2026-10-08 12:34:56') zwraca '2026-10-08 12:34:56'. |
$JULIANDAY(datetime_string)
|
Zwraca ułamkową liczbę dni od południa w Greenwich w dniu 24 listopada 4714 r. p.n.e. Odejmij dwie wartości dnia juliańskiego, aby obliczyć liczbę dni, które upłynęły. | $JULIANDAY('2000-01-01 12:00:00') zwraca 2451545.0. $JULIANDAY('2026-10-09') - $JULIANDAY('2026-10-08') zwraca 1.0. |
$STRFTIME(format, datetime_string)
|
Zwraca tekst sformatowany za pomocą format. Format znajduje się przed danymi wejściowymi daty lub daty i godziny. |
$STRFTIME('%Y-%m', '2026-10-08') zwraca '2026-10'. |
$TIME(time_string)
|
Zwraca czas z time_string jako tekst w formacie HH:MM:SS formatu. |
$TIME('12:34:56') zwraca '12:34:56'. |
Podstawienia formatu
Połącz następujące podstawienia z separatorami literałowymi w $STRFTIME. Na przykład '%Y-%m-%d %H:%M:%S' formatuje zarówno datę, jak i godzinę. Nieobsługiwane podstawienie zwraca wartość NULL.
| Zastępowanie | Znaczenie |
|---|---|
%d
|
Dzień miesiąca, 01-31. |
%H
|
Godzina, 00-24. |
%f
|
Sekundy z częścią ułamkową, SS.SSS. |
%j
|
Dzień roku, 001-366. |
%J
|
Numer dnia juliańskiego. |
%m
|
Miesiąc, 01-12. |
%M
|
Minuta, 00-59. |
%s
|
Liczba sekund od 1 stycznia 1970 roku, 00:00:00 UTC. |
%S
|
Sekundy, 00-59. |
%w
|
Dzień tygodnia, 0-6; niedziela to 0. |
%W
|
Tydzień roku, 00-53; tygodnie zaczynają się w poniedziałek. |
%Y
|
Rok, 0000-9999. |
%%
|
Dosłowny znak procentu. |
Funkcje wzbogacania danych
Użyj wyszukiwania, aby dodać powiązaną wartość, taką jak nazwa działu, z tabeli w źródłowym lub docelowym punkcie końcowym.
| Funkcja | Zachowanie i argumenty | Przykład i wynik |
|---|---|---|
$SOURCE_LOOKUP(time_to_live, schema, table, expression, condition, condition_params)
|
Pobiera wartość expression z table źródłowego punktu końcowego, w schema, dla rekordu pasującego do condition. Parametry warunku dostarczają wartości dla jego symboli zastępczych w odpowiedniej kolejności. |
$SOURCE_LOOKUP(60, 'HR', 'DEPARTMENTS', 'DEPARTMENT_NAME', 'DEPARTMENT_ID=:1', $DEPARTMENT_ID) pobiera pasującą nazwę działu ze źródła. |
$TARGET_LOOKUP(time_to_live, schema, table, expression, condition, condition_params)
|
Pobiera wartość expression z table docelowego punktu końcowego, w schema, dla rekordu pasującego do condition. Parametry warunku dostarczają wartości dla jego symboli zastępczych w odpowiedniej kolejności. |
$TARGET_LOOKUP(60, 'dbo', 'DEPARTMENTS', 'DEPARTMENT_NAME', 'DEPARTMENT_ID=?', $DEPARTMENT_ID) pobiera pasującą nazwę działu z obiektu docelowego. |
condition_params reprezentuje rozdzieloną przecinkami listę argumentów, a nie pojedynczy argument tablicowy. Obie funkcje używają następujących parametrów:
| Parametr | Znaczenie |
|---|---|
time_to_live
|
Wymagany czas życia pamięci podręcznej, bez wartości domyślnej. Podaj czas życia pamięci podręcznej w sekundach, Krótkie czasy życia odświeżają często zmieniające się dane. Dłuższy czas życia zmniejsza liczbę zapytań do punktu końcowego, ale może powodować zwracanie wartości z pamięci podręcznej po zmianie danych wyszukiwania. Używaj braku wygasania tylko w przypadku danych, które się nie zmieniają. |
schema
|
Schemat zawierający tabelę wyszukiwania, podany jako tekst. |
table
|
Tabela do odpytania w ramach tego schematu, podana jako tekst. |
expression
|
Wyrażenie SQL wybierające wartość jednej kolumny, takie jak 'DEPARTMENT_NAME' lub 'PRICE * 1.2'. Użyj dialektu SQL punktu końcowego, do którego uzyskiwany jest dostęp, a nie składni funkcji wyrażenia zewnętrznego. |
condition
|
Warunek SQL identyfikujący rekord wyszukiwania. Użyj dialektu i składni symboli zastępczych punktu końcowego, do którego uzyskano dostęp: na przykład :1 i :2 dla bazy Oracle lub ? dla Microsoft SQL Server. |
condition_params
|
Wartości powiązane z symbolami zastępczymi warunku, w kolejności. Parametry kolumn, takie jak $COMPANY_ID i $DEPARTMENT_ID, dostarczają wartości z bieżącego wiersza. |
Zindeksuj pola wyszukiwania, aby zmniejszyć koszt zapytania. Wybierz warunek identyfikujący docelowy rekord i ustaw typ danych dodanej kolumny tak, aby odpowiadał wybranej wartości.
$SOURCE_LOOKUP i $TARGET_LOOKUP nie jest obsługiwane. Zobacz Testowanie wyrażeń.Przykład wyszukiwania źródła
W przypadku źródła Oracle poniższe wyrażenie pobiera DEPARTMENT_NAME z HR.DEPARTMENTS i zapisuje wynik w pamięci podręcznej na 60 sekund:
$SOURCE_LOOKUP(60, 'HR', 'DEPARTMENTS', 'DEPARTMENT_NAME', 'DEPARTMENT_ID=:1', $DEPARTMENT_ID)
Jeśli bieżący wiersz zawiera DEPARTMENT_ID 10, a pasujący rekord wyszukiwania zawiera 'Sales', wynikiem jest 'Sales'.
W przypadku źródła Microsoft SQL Server użyj jego składni symbolu zastępczego warunku. Ten przykład wiąże wartości firmy i działu w tej kolejności:
$SOURCE_LOOKUP(60, 'dbo', 'DEPARTMENTS', 'DEPARTMENT_NAME', 'COMPANY_ID=? AND DEPARTMENT_ID=?', $COMPANY_ID, $DEPARTMENT_ID)
Przykład wyszukiwania docelowego
W przypadku obiektu docelowego Microsoft SQL Server odpytaj tabelę docelową, używając jej dialektu SQL:
$TARGET_LOOKUP(60, 'dbo', 'DEPARTMENTS', 'DEPARTMENT_NAME', 'DEPARTMENT_ID=?', $DEPARTMENT_ID)
Jeśli docelowy rekord wyszukiwania dla działu 10 zawiera 'Sales', to wynikiem dla wartości wejściowej 10 jest 'Sales'.
Funkcje operacyjne
| Funkcja | Zachowanie i argumenty | Przykład i wynik |
|---|---|---|
$OPERATION_INDICATOR(value_on_delete, value_on_update, value_on_insert)
|
Zwraca flagę określoną dla każdej operacji źródłowej. Kolejność argumentów to delete, update, a następnie insert. Użyj dedykowanej kolumny do przechowywania flag i podaj wartości flag zgodne z jej typem danych. | $OPERATION_INDICATOR('Deleted', 'Updated', 'Inserted') zwraca 'Updated' w przypadku aktualizacji. |
W Qlik Replicate funkcja ta zmienia również sposób obsługi usuwania: zachowuje odpowiedni rekord docelowy i oznacza go za pomocą value_on_delete. To zachowanie dotyczące obsługi usuwania wymaga potwierdzenia w przypadku Qlik Talend Cloud Data Integration.
Funkcje logiczne
| Funkcja | Zachowanie i argumenty | Przykład i wynik |
|---|---|---|
$IFF(boolean_expression, true_value, false_value)
|
Zwraca true_value, jeśli boolean_expression ma wartość true; w przeciwnym razie zwraca false_value. Najpierw podaj warunek, a następnie dwie wartości wynikowe. |
$IFF(10 > 5, 'High', 'Low') zwraca 'High'. $IFF(3 > 5, 'High', 'Low') zwraca 'Low'. |
Inne funkcje
| Funkcja | Zachowanie i argumenty | Przykład i wynik |
|---|---|---|
$LIKE(pattern, string[, escape_character])
|
Zwraca 1 w przypadku dopasowania lub 0 w przypadku braku dopasowania; wartość wejściowa NULL daje wynik NULL. % dopasowuje zero lub więcej znaków; _ dopasowuje jeden znak. Dopasowywanie domyślnie ignoruje wielkość liter ASCII. Opcjonalny znak ucieczki to jeden znak. Wzorzec występuje jako pierwszy, w przeciwieństwie do operatora LIKE. |
$LIKE('A%', 'Alice') zwraca 1. $LIKE('10!%', '10%', '!') zwraca 1. |
$TYPEOF(expression)
|
Zwraca klasę przechowywania wartości: 'null', 'integer', 'real', 'text' lub 'blob'. To nie jest skonfigurowany typ kolumny wyjściowej. |
$TYPEOF(12.5) zwraca 'real'. |
Funkcje skrótu
| Funkcja | Zachowanie i argumenty | Przykład i wynik |
|---|---|---|
$SHA256(string)
|
Zwraca szesnastkowy skrót SHA-256 wejściowego ciągu znaków. | $SHA256('abc') zwraca ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad. |
Hash nie jest szyfrowaniem. Przewidywalne wartości wejściowe nadal można zidentyfikować, porównując ich skróty.