Funzioni di espressione
Ultimo aggiornamento: 27/10/2026Utilizza le funzioni per trasformare i valori delle righe, gestire i dati mancanti o recuperare valori correlati durante la creazione di espressioni. Per i dettagli, vedere Generazione di espressioni.
Le funzioni seguenti descrivono le espressioni delle attività di movimento nelle attività di trasferimento gestite da SaaS, trasferimento lake e replica. Utilizza la firma della funzione visualizzata nel tuo editor. Le parentesi quadre nelle firme indicano argomenti facoltativi; non inserire le parentesi.
Per le funzioni CDC Storage e Streaming Transform, consultare Funzioni di trasformazione. Per le espressioni di storage, trasformazione e data mart eseguite su una piattaforma dati cloud, utilizzare la sintassi delle funzioni di tale piattaforma.
Funzioni di stringa
Le funzioni di prefisso e suffisso agiscono all'inizio o alla fine di una stringa. La sostituzione dei caratteri agisce sui singoli caratteri anziché trovare una corrispondenza con un intero prefisso o suffisso.
| Funzione | Comportamento e argomenti | Esempio e risultato |
|---|---|---|
$CONCAT(X, Y)
|
Unisce le due stringhe X e Y, in questo ordine. Restituisce NULL se uno dei due argomenti è NULL. Nidifica le chiamate per unire più di due stringhe. |
$CONCAT('My', 'Picture') restituisce 'MyPicture'. $CONCAT('My', NULL) restituisce NULL. |
$INSTR(string, substring)
|
Restituisce la posizione in base 1 della prima occorrenza di substring in string. Restituisce 0 se la sottostringa non viene trovata. |
$INSTR('mystring', 'ing') restituisce 6. $INSTR('mystring', 'xyz') restituisce 0. |
$LENGTH(string)
|
Restituisce il numero di caratteri in string, non la sua dimensione in byte. |
$LENGTH('mystring') restituisce 8. |
$LOWER(string)
|
Restituisce una copia di string con le lettere ASCII convertite in minuscolo. |
$LOWER('ABC') restituisce 'abc'. |
$LTRIM(string[, characters])
|
Rimuove i caratteri dall'inizio di string. L'argomento opzionale characters è un insieme di caratteri da rimuovere, non un prefisso. Se omesso, rimuove gli spazi. |
$LTRIM(' orders') restituisce 'orders'. $LTRIM('@@orders', '@') restituisce 'orders'. |
$REMOVE_PREFIX(string, prefix)
|
Restituisce una copia di string con il prefix iniziale specificato rimosso. |
$REMOVE_PREFIX('mystring', 'my') restituisce 'string'. |
$REMOVE_SUFFIX(string, suffix)
|
Restituisce una copia di string con il finale specificato suffix rimosso. |
$REMOVE_SUFFIX('mystring', 'ing') restituisce 'mystr'. |
$REPLACE(string, pattern, replacement)
|
Sostituisce ogni occorrenza di pattern in string con replacement. Tutti e tre gli argomenti sono obbligatori. Utilizzare una stringa di sostituzione vuota per rimuovere il testo corrispondente. |
$REPLACE('a-b-c', '-', '_') restituisce 'a_b_c'. $REPLACE('a-b', '-', '') restituisce 'ab'. |
$REPLACE_CHARS(string, chars, replacement)
|
Sostituisce ogni carattere elencato in chars con il carattere nella stessa posizione in replacement. I caratteri non elencati rimangono invariati. Se manca una posizione di sostituzione, viene utilizzato il primo carattere di sostituzione. |
$REPLACE_CHARS('mystring', 's', 'z') restituisce 'myztring'. $REPLACE_CHARS('abcde', 'abcd', '123') restituisce '1231e'. |
$REPLACE_PREFIX(string, prefix, replacement)
|
Sostituisce prefix iniziale in string con replacement concentrati. |
$REPLACE_PREFIX('mystring', 'my', 'new') restituisce 'newstring'. |
$REPLACE_SUFFIX(string, suffix, replacement)
|
Sostituisce suffix finale in string con replacement, anziché sostituire ogni occorrenza. |
$REPLACE_SUFFIX('mystring', 'ing', 'new') restituisce 'mystrnew'. |
$RTRIM(string[, characters])
|
Rimuove caratteri dalla fine di string. L'argomento opzionale characters è un insieme di caratteri da rimuovere, non un suffisso. Se omesso, rimuove gli spazi. |
$RTRIM('orders ') restituisce 'orders'. $RTRIM('orders@@', '@') restituisce 'orders'. |
$SUBSTR(string, start[, length])
|
Estrae testo da string, a partire dalla posizione in base 1 start. length specifica il numero di caratteri. Se omesso, restituisce i caratteri rimanenti. |
$SUBSTR('abcdef', 2, 3) restituisce 'bcd'. |
$TRIM(string[, characters])
|
Rimuove i caratteri da entrambe le estremità di string. L'argomento opzionale characters è un insieme di caratteri da rimuovere, non una sottostringa. Se omesso, rimuove gli spazi. |
$TRIM(' orders ') restituisce 'orders'. $TRIM('@#orders#@', '@#') restituisce 'orders'. |
$UNICODE(string)
|
Restituisce il code point Unicode numerico del primo carattere in string. L'argomento deve essere una stringa. |
$UNICODE('ABC') restituisce 65. |
$UPPER(string)
|
Restituisce una copia di string con le lettere ASCII convertite in maiuscolo. |
$UPPER('abc') restituisce 'ABC'. |
Funzioni numeriche
Utilizzare queste funzioni per calcolare i valori numerici per la riga corrente. $MAX e $MIN confrontano gli argomenti all'interno della riga, non i valori tra le righe.
| Funzione | Comportamento e argomenti | Esempio e risultato |
|---|---|---|
$ABS(X)
|
Restituisce il valore assoluto dell'argomento numerico X. |
$ABS(-20) restituisce 20. |
$MAX(arg1, arg2, ...)
|
Restituisce il valore massimo tra gli argomenti numerici forniti. Fornire almeno due argomenti. | $MAX(10, 4, 20, 9) restituisce 20. |
$MIN(arg1, arg2, ...)
|
Restituisce il valore più piccolo tra gli argomenti numerici forniti. Fornire almeno due argomenti. | $MIN(10, 4, 20, 9) restituisce 4. |
$RANDOM()
|
Restituisce un intero con segno pseudocasuale. Non accetta argomenti. | $RANDOM() restituisce un intero che può essere negativo, zero o positivo. Il suo valore varia da una chiamata all'altra. |
$ROUND(value[, digits])
|
Arrotonda value a digits cifre decimali e restituisce un valore a virgola mobile. Se digits viene omesso, arrotonda a zero cifre decimali. |
$ROUND(3.141592, 3) restituisce 3.142. |
Funzioni LOB
Queste funzioni operano con oggetti binari di grandi dimensioni (BLOB). L'argomento size N specifica i byte, non i caratteri.
| Funzione | Comportamento e argomenti | Esempio e risultato |
|---|---|---|
$HEX(blob)
|
Restituisce un testo esadecimale maiuscolo che rappresenta i byte di blob. L'input numerico viene prima convertito in testo; il risultato non è la rappresentazione macchina del numero. |
$HEX(X'4142') restituisce '4142'. |
$RANDOM_BLOB(N)
|
Restituisce N byte pseudocasuali. Se N è minore di 1, restituisce un byte. Non utilizzare questa funzione come garanzia di casualità crittografica. |
$RANDOM_BLOB(4) restituisce un BLOB di quattro byte. Il suo valore varia da una chiamata all'altra. |
$ZERO_BLOB(N)
|
Restituisce un BLOB contenente N byte pari a zero. |
$HEX($ZERO_BLOB(3)) restituisce '000000'. |
Funzioni di controllo dei valori null
| Funzione | Comportamento e argomenti | Esempio e risultato |
|---|---|---|
$COALESCE(X, Y, ...)
|
Restituisce il primo argomento non NULL, nell'ordine degli argomenti. Fornire almeno due argomenti. Se tutti gli argomenti sono NULL, il risultato è NULL. Una stringa vuota non è NULL. | $COALESCE(NULL, 'Unknown') restituisce 'Unknown'. $COALESCE('', 'Unknown') restituisce una stringa vuota. |
$IFNULL(X, Y)
|
Restituisce X se non è NULL; in caso contrario, restituisce Y. Restituisce NULL se entrambi gli argomenti sono NULL. Fornire esattamente due argomenti. |
$IFNULL(NULL, 'Unknown') restituisce 'Unknown'. $IFNULL('Known', 'Unknown') restituisce 'Known'. |
$NULLIF(X, Y)
|
Restituisce NULL se X e Y sono uguali; in caso contrario, restituisce X. Fornire esattamente due argomenti. |
$NULLIF('Unknown', 'Unknown') restituisce NULL. $NULLIF('Known', 'Unknown') restituisce 'Known'. |
Funzioni data e ora
Fornire una stringa di data, ora o data/ora come '2026-10-08', '12:34:56' o '2026-10-08 12:34:56'. Mantenere le costanti di data tra virgolette in modo che i trattini non vengano interpretati come una sottrazione.
| Funzione | Comportamento e argomenti | Esempio e risultato |
|---|---|---|
$DATE(date_string)
|
Restituisce la data da date_string come testo nel formato YYYY-MM-DD. |
$DATE('2026-10-08') restituisce '2026-10-08'. |
$DATETIME(datetime_string)
|
Restituisce la data e l'ora da datetime_string come testo nel formato YYYY-MM-DD HH:MM:SS." |
$DATETIME('2026-10-08 12:34:56') restituisce '2026-10-08 12:34:56'. |
$JULIANDAY(datetime_string)
|
Restituisce i giorni frazionari a partire dal mezzogiorno a Greenwich del 24 novembre 4714 a.C. Sottrarre due valori di giorno giuliano per calcolare il numero di giorni trascorsi. | $JULIANDAY('2000-01-01 12:00:00') restituisce 2451545.0. $JULIANDAY('2026-10-09') - $JULIANDAY('2026-10-08') restituisce 1.0. |
$STRFTIME(format, datetime_string)
|
Restituisce il testo formattato utilizzando format. Il formato precede l'input di data o data e ora. |
$STRFTIME('%Y-%m', '2026-10-08') restituisce '2026-10'. |
$TIME(time_string)
|
Restituisce l'ora da time_string come testo nel formato HH:MM:SS. |
$TIME('12:34:56') restituisce '12:34:56'. |
Sostituzioni di formato
Combina le seguenti sostituzioni con separatori letterali in $STRFTIME. Ad esempio, '%Y-%m-%d %H:%M:%S' formatta sia la data che l'ora. Una sostituzione non supportata restituisce NULL.
| Sostituzione | Significato |
|---|---|
%d
|
Giorno del mese, 01-31. |
%H
|
Ora, 00-24. |
%f
|
Secondi con parte frazionaria, SS.SSS. |
%j
|
Giorno dell'anno, 001-366. |
%J
|
Numero del giorno giuliano. |
%m
|
Mese, 01-12. |
%M
|
Minuto, 00-59. |
%s
|
Secondi trascorsi dal 1° gennaio 1970, 00:00:00 UTC. |
%S
|
Secondi, 00-59. |
%w
|
Giorno della settimana, 0-6; la domenica è 0. |
%W
|
Settimana dell'anno, 00-53; le settimane iniziano di lunedì. |
%Y
|
Anno, 0000-9999. |
%%
|
Un segno di percentuale letterale. |
Funzioni di arricchimento dati
Utilizzare una ricerca per aggiungere un valore correlato, ad esempio il nome di un reparto, da una tabella nell'endpoint di origine o di destinazione.
| Funzione | Comportamento e argomenti | Esempio e risultato |
|---|---|---|
$SOURCE_LOOKUP(time_to_live, schema, table, expression, condition, condition_params)
|
Recupera il valore di expression da table dell'endpoint di origine, in schema, per il record che corrisponde a condition. I parametri della condizione forniscono i valori per i relativi segnaposto in ordine. |
$SOURCE_LOOKUP(60, 'HR', 'DEPARTMENTS', 'DEPARTMENT_NAME', 'DEPARTMENT_ID=:1', $DEPARTMENT_ID) recupera il nome del dipartimento corrispondente dall'origine. |
$TARGET_LOOKUP(time_to_live, schema, table, expression, condition, condition_params)
|
Recupera il valore di expression da table dell'endpoint di destinazione, in schema, per il record che corrisponde a condition. I parametri della condizione forniscono i valori per i relativi segnaposto in ordine. |
$TARGET_LOOKUP(60, 'dbo', 'DEPARTMENTS', 'DEPARTMENT_NAME', 'DEPARTMENT_ID=?', $DEPARTMENT_ID) recupera il nome del dipartimento corrispondente dalla destinazione. |
condition_params rappresenta un elenco di argomenti separati da virgola, non un singolo argomento array. Entrambe le funzioni utilizzano i seguenti parametri:
| Parametro | Significato |
|---|---|
time_to_live
|
Durata della cache obbligatoria, senza valore predefinito. Specificare la durata della cache in secondi, Le durate brevi aggiornano i dati che cambiano frequentemente. Durate più lunghe riducono le query all'endpoint, ma possono restituire valori memorizzati nella cache dopo la modifica dei dati di ricerca. Utilizzare nessuna scadenza solo per i dati che non cambiano. |
schema
|
Schema contenente la tabella di ricerca, fornito come testo. |
table
|
Tabella da interrogare all'interno di tale schema, fornita come testo. |
expression
|
Espressione SQL che seleziona il valore di una colonna, come 'DEPARTMENT_NAME' o 'PRICE * 1.2'. Utilizzare il dialetto SQL dell'endpoint a cui si accede, non la sintassi della funzione dell'espressione esterna. |
condition
|
Condizione SQL che identifica il record di ricerca. Utilizzare il dialetto e la sintassi dei segnaposto dell'endpoint a cui si accede: ad esempio, :1 e :2 per Oracle, o ? per Microsoft SQL Server. |
condition_params
|
Valori associati ai segnaposto della condizione, in ordine. I parametri di colonna come $COMPANY_ID e $DEPARTMENT_ID forniscono i valori della riga corrente. |
Indicizza i campi di ricerca per ridurre il costo delle query. Selezionare una condizione che identifichi il record desiderato e impostare il tipo di dati della colonna aggiunta in modo che corrisponda al valore selezionato.
$SOURCE_LOOKUP e $TARGET_LOOKUP non è supportato. Vedere Test delle espressioni.Esempio di ricerca del sorgente
Per un'origine Oracle, la seguente espressione recupera DEPARTMENT_NAME da HR.DEPARTMENTS e memorizza nella cache il risultato per 60 secondi:
$SOURCE_LOOKUP(60, 'HR', 'DEPARTMENTS', 'DEPARTMENT_NAME', 'DEPARTMENT_ID=:1', $DEPARTMENT_ID)
Se la riga corrente ha DEPARTMENT_ID 10 e il record di ricerca corrispondente contiene 'Sales', il risultato è 'Sales'.
Per un'origine Microsoft SQL Server, utilizzare la relativa sintassi per i segnaposto di condizione. Questo esempio associa i valori di azienda e reparto in questo ordine:
$SOURCE_LOOKUP(60, 'dbo', 'DEPARTMENTS', 'DEPARTMENT_NAME', 'COMPANY_ID=? AND DEPARTMENT_ID=?', $COMPANY_ID, $DEPARTMENT_ID)
Esempio di ricerca del target
Per una destinazione Microsoft SQL Server, interrogare la tabella di destinazione utilizzando il relativo dialetto SQL:
$TARGET_LOOKUP(60, 'dbo', 'DEPARTMENTS', 'DEPARTMENT_NAME', 'DEPARTMENT_ID=?', $DEPARTMENT_ID)
Se il record di ricerca di destinazione per il reparto 10 contiene 'Sales', il risultato per un valore di input pari a 10 è 'Sales'.
Funzioni di operazione
| Funzione | Comportamento e argomenti | Esempio e risultato |
|---|---|---|
$OPERATION_INDICATOR(value_on_delete, value_on_update, value_on_insert)
|
Restituisce il flag specificato per ciascuna operazione di origine. L'ordine degli argomenti è delete, update, quindi insert. Utilizzare una colonna dedicata per memorizzare i flag e fornire valori di flag corrispondenti al relativo tipo di dati. | $OPERATION_INDICATOR('Deleted', 'Updated', 'Inserted') restituisce 'Updated' per un aggiornamento. |
In Qlik Replicate, questa funzione modifica anche la gestione delle eliminazioni: mantiene il record di destinazione corrispondente e lo contrassegna con value_on_delete. Questo comportamento di gestione delle eliminazioni richiede una conferma per Qlik Talend Cloud Data Integration.
Funzioni logiche
| Funzione | Comportamento e argomenti | Esempio e risultato |
|---|---|---|
$IFF(boolean_expression, true_value, false_value)
|
Restituisce true_value se boolean_expression ha valore true; in caso contrario, restituisce false_value. Fornire prima la condizione, seguita dai due valori di risultato. |
$IFF(10 > 5, 'High', 'Low') restituisce 'High'. $IFF(3 > 5, 'High', 'Low') restituisce 'Low'. |
Altre funzioni
| Funzione | Comportamento e argomenti | Esempio e risultato |
|---|---|---|
$LIKE(pattern, string[, escape_character])
|
Restituisce 1 in caso di corrispondenza o 0 in assenza di corrispondenza; un input NULL produce NULL. % corrisponde a zero o più caratteri; _ corrisponde a uno. Per impostazione predefinita, la corrispondenza ignora la distinzione tra maiuscole e minuscole ASCII. L'escape opzionale è di un solo carattere. Il pattern viene prima, a differenza dell'operatore LIKE. |
$LIKE('A%', 'Alice') restituisce 1. $LIKE('10!%', '10%', '!') restituisce 1. |
$TYPEOF(expression)
|
Restituisce la classe di memorizzazione del valore: 'null', 'integer', 'real', 'text' o 'blob'. Questo non è il tipo di colonna di output configurato. |
$TYPEOF(12.5) restituisce 'real'. |
Funzioni hash
| Funzione | Comportamento e argomenti | Esempio e risultato |
|---|---|---|
$SHA256(string)
|
Restituisce l'hash SHA-256 esadecimale della stringa di input. | $SHA256('abc') restituisce ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad. |
Un hash non è crittografia. I valori di input prevedibili possono comunque essere identificati confrontando i loro hash.