Uttrycksfunktioner
Senast uppdaterad: 2026-10-28Använd funktioner för att transformera radvärden, hantera saknade data eller hämta relaterade värden när du bygger uttryck. För mer information, se Bygga uttryck.
Funktionerna nedan beskriver uttryck för förflyttningsuppgifter i SaaS-hanterad mellanlagring, lake-mellanlagring och replikeringsuppgifter. Använd funktionssignaturen som visas i din redigerare. Hakparenteser i signaturer anger valfria argument; skriv inte in hakparenteserna.
För funktioner för CDC Storage och Streaming Transform, se Transformationsfunktioner. För lagrings-, transformerings- och data mart-uttryck som körs på en molndataplattform använder du den plattformens funktionssyntax.
Strängfunktioner
Prefix- och suffixfunktioner verkar på början eller slutet av en sträng. Teckenersättning tillämpas på enskilda tecken i stället för att matcha ett helt prefix eller suffix.
| Funktion | Beteende och argument | Exempel och resultat |
|---|---|---|
$CONCAT(X, Y)
|
Sammanfogar de två strängarna X och Y, i den ordningen. Returnerar NULL om något av argumenten är NULL. Nästla anrop för att sammanfoga fler än två strängar. |
$CONCAT('My', 'Picture') returnerar 'MyPicture'. $CONCAT('My', NULL) returnerar NULL. |
$INSTR(string, substring)
|
Returnerar den ettbaserade positionen för den första förekomsten av substring i string. Returnerar 0 om delsträngen inte hittas. |
$INSTR('mystring', 'ing') returnerar 6. $INSTR('mystring', 'xyz') returnerar 0. |
$LENGTH(string)
|
Returnerar antalet tecken i string, inte dess storlek i byte. |
$LENGTH('mystring') returnerar 8. |
$LOWER(string)
|
Returnerar en kopia av string med ASCII-bokstäver konverterade till gemener. |
$LOWER('ABC') returnerar 'abc'. |
$LTRIM(string[, characters])
|
Tar bort tecken från början av string. Det valfria argumentet characters är en uppsättning tecken som ska tas bort, inte ett prefix. Om det utelämnas tas blanksteg bort. |
$LTRIM(' orders') returnerar 'orders'. $LTRIM('@@orders', '@') returnerar 'orders'. |
$REMOVE_PREFIX(string, prefix)
|
Returnerar en kopia av string med den angivna början prefix borttagen. |
$REMOVE_PREFIX('mystring', 'my') returnerar 'string'. |
$REMOVE_SUFFIX(string, suffix)
|
Returnerar en kopia av string med den angivna ändelsen suffix borttagen. |
$REMOVE_SUFFIX('mystring', 'ing') returnerar 'mystr'. |
$REPLACE(string, pattern, replacement)
|
Ersätter varje förekomst av pattern i string med replacement. Alla tre argumenten är obligatoriska. Använd en tom ersättningssträng för att ta bort matchande text. |
$REPLACE('a-b-c', '-', '_') returnerar 'a_b_c'. $REPLACE('a-b', '-', '') returnerar 'ab'. |
$REPLACE_CHARS(string, chars, replacement)
|
Ersätter varje tecken som anges i chars med tecknet på samma position i replacement. Olistade tecken förblir oförändrade. Om en ersättningsposition saknas används det första ersättningstecknet. |
$REPLACE_CHARS('mystring', 's', 'z') returnerar 'myztring'. $REPLACE_CHARS('abcde', 'abcd', '123') returnerar '1231e'. |
$REPLACE_PREFIX(string, prefix, replacement)
|
Ersätter inledande prefix i string med replacement. |
$REPLACE_PREFIX('mystring', 'my', 'new') returnerar 'newstring'. |
$REPLACE_SUFFIX(string, suffix, replacement)
|
Ersätter det avslutande suffix i string med replacement, snarare än att ersätta varje förekomst. |
$REPLACE_SUFFIX('mystring', 'ing', 'new') returnerar 'mystrnew'. |
$RTRIM(string[, characters])
|
Tar bort tecken från slutet av string. Det valfria argumentet characters är en uppsättning tecken som ska tas bort, inte ett suffix. Om det utelämnas tas blanksteg bort. |
$RTRIM('orders ') returnerar 'orders'. $RTRIM('orders@@', '@') returnerar 'orders'. |
$SUBSTR(string, start[, length])
|
Extraherar text från string, med start vid den ettbaserade positionen start. length anger antalet tecken. Om det utelämnas returneras de återstående tecknen. |
$SUBSTR('abcdef', 2, 3) returnerar 'bcd'. |
$TRIM(string[, characters])
|
Tar bort tecken från båda ändarna av string. Det valfria argumentet characters är en uppsättning tecken som ska tas bort, inte en delsträng. Om det utelämnas tas blanksteg bort. |
$TRIM(' orders ') returnerar 'orders'. $TRIM('@#orders#@', '@#') returnerar 'orders'. |
$UNICODE(string)
|
Returnerar den numeriska Unicode-kodpunkten för det första tecknet i string. Argumentet måste vara en sträng. |
$UNICODE('ABC') returnerar 65. |
$UPPER(string)
|
Returnerar en kopia av string med ASCII-bokstäver konverterade till versaler. |
$UPPER('abc') returnerar 'ABC'. |
Numeriska funktioner
Använd dessa funktioner för att beräkna numeriska värden för den aktuella raden. $MAX och $MIN jämför argument inom raden, inte värden mellan rader.
| Funktion | Beteende och argument | Exempel och resultat |
|---|---|---|
$ABS(X)
|
Returnerar det absoluta värdet för det numeriska argumentet X. |
$ABS(-20) returnerar 20. |
$MAX(arg1, arg2, ...)
|
Returnerar det största värdet bland de angivna numeriska argumenten. Ange minst två argument. | $MAX(10, 4, 20, 9) returnerar 20. |
$MIN(arg1, arg2, ...)
|
Returnerar det minsta värdet bland de angivna numeriska argumenten. Ange minst två argument. | $MIN(10, 4, 20, 9) returnerar 4. |
$RANDOM()
|
Returnerar ett pseudoslumpmässigt heltal med tecken. Tar inga argument. | $RANDOM() returnerar ett heltal som kan vara negativt, noll eller positivt. Dess värde varierar mellan anrop. |
$ROUND(value[, digits])
|
Avrundar value till digits decimaler och returnerar ett flyttalsvärde. Om digits utelämnas avrundas till noll decimaler. |
$ROUND(3.141592, 3) returnerar 3.142. |
LOB-funktioner
Dessa funktioner fungerar med binära stora objekt (BLOB:ar). Argumentet size N anger byte, inte tecken.
| Funktion | Beteende och argument | Exempel och resultat |
|---|---|---|
$HEX(blob)
|
Returnerar hexadecimal text med versaler som representerar bytena i blob. Numerisk indata konverteras först till text; resultatet är inte talets maskinrepresentation. |
$HEX(X'4142') returnerar '4142'. |
$RANDOM_BLOB(N)
|
Returnerar N pseudoslumpmässiga byte. Om N är mindre än 1 returneras en byte. Använd inte den här funktionen som en garanti för kryptografisk slumpmässighet. |
$RANDOM_BLOB(4) returnerar en BLOB på fyra byte. Dess värde varierar mellan anrop. |
$ZERO_BLOB(N)
|
Returnerar en BLOB som innehåller N nollbyte. |
$HEX($ZERO_BLOB(3)) returnerar '000000'. |
Null-kontrollfunktioner
| Funktion | Beteende och argument | Exempel och resultat |
|---|---|---|
$COALESCE(X, Y, ...)
|
Returnerar det första icke-NULL-argumentet, i argumentordning. Ange minst två argument. Om alla argument är NULL blir resultatet NULL. En tom sträng är inte NULL. | $COALESCE(NULL, 'Unknown') returnerar 'Unknown'. $COALESCE('', 'Unknown') returnerar en tom sträng. |
$IFNULL(X, Y)
|
Returnerar X om det inte är NULL; annars returneras Y. Returnerar NULL om båda argumenten är NULL. Ange exakt två argument. |
$IFNULL(NULL, 'Unknown') returnerar 'Unknown'. $IFNULL('Known', 'Unknown') returnerar 'Known'. |
$NULLIF(X, Y)
|
Returnerar NULL om X och Y är lika; annars returneras X. Ange exakt två argument. |
$NULLIF('Unknown', 'Unknown') returnerar NULL. $NULLIF('Known', 'Unknown') returnerar 'Known'. |
Datum- och tidsfunktioner
Ange en sträng för datum, tid eller datum/tid, till exempel '2026-10-08', '12:34:56' eller '2026-10-08 12:34:56'. Sätt datumkonstanter inom citattecken så att bindestreck inte tolkas som subtraktion.
| Funktion | Beteende och argument | Exempel och resultat |
|---|---|---|
$DATE(date_string)
|
Returnerar datumet från date_string som text i formatet YYYY-MM-DD. |
$DATE('2026-10-08') returnerar '2026-10-08'. |
$DATETIME(datetime_string)
|
Returnerar datum och tid från datetime_string som text i formatet YYYY-MM-DD HH:MM:SS. |
$DATETIME('2026-10-08 12:34:56') returnerar '2026-10-08 12:34:56'. |
$JULIANDAY(datetime_string)
|
Returnerar bråkdelsdagar sedan middag i Greenwich den 24 november 4714 f.Kr. Subtrahera två julianska dagsvärden för att beräkna antalet förflutna dagar. | $JULIANDAY('2000-01-01 12:00:00') returnerar 2451545.0. $JULIANDAY('2026-10-09') - $JULIANDAY('2026-10-08') returnerar 1.0. |
$STRFTIME(format, datetime_string)
|
Returnerar text formaterad med format. Formatet kommer före inmatningen av datum eller datum/tid. |
$STRFTIME('%Y-%m', '2026-10-08') returnerar '2026-10'. |
$TIME(time_string)
|
Returnerar tiden från time_string som text i formatet HH:MM:SS. |
$TIME('12:34:56') returnerar '12:34:56'. |
Formateringsersättningar
Kombinera följande ersättningar med literala avgränsare i $STRFTIME. Till exempel formaterar '%Y-%m-%d %H:%M:%S' både datum och tid. En substitution som inte stöds returnerar NULL.
| Ersättning | Betydelse |
|---|---|
%d
|
Dag i månaden, 01-31. |
%H
|
Timme, 00-24. |
%f
|
Sekunder med bråkdel, SS.SSS. |
%j
|
Dag på året, 001-366. |
%J
|
Julianskt dagnummer. |
%m
|
Månad, 01-12. |
%M
|
Minut, 00-59. |
%s
|
Sekunder sedan den 1 januari 1970, 00:00:00 UTC. |
%S
|
Sekunder, 00-59. |
%w
|
Veckodag, 0-6; söndag är 0. |
%W
|
Vecka på året, 00-53; veckan börjar på måndag. |
%Y
|
År, 0000-9999. |
%%
|
Ett bokstavligt procenttecken. |
Databerikningsfunktioner
Använd en uppslagning för att lägga till ett relaterat värde, till exempel ett avdelningsnamn, från en tabell i käll- eller målslutpunkten.
| Funktion | Beteende och argument | Exempel och resultat |
|---|---|---|
$SOURCE_LOOKUP(time_to_live, schema, table, expression, condition, condition_params)
|
Hämtar värdet för expression från källslutpunktens table, i schema, för posten som matchar condition. Villkorsparametrarna tillhandahåller värden för dess platshållare i ordningsföljd. |
$SOURCE_LOOKUP(60, 'HR', 'DEPARTMENTS', 'DEPARTMENT_NAME', 'DEPARTMENT_ID=:1', $DEPARTMENT_ID) hämtar det matchande avdelningsnamnet från källan. |
$TARGET_LOOKUP(time_to_live, schema, table, expression, condition, condition_params)
|
Hämtar värdet för expression från målslutpunktens table, i schema, för den post som matchar condition. Villkorsparametrarna tillhandahåller värden för dess platshållare i ordningsföljd. |
$TARGET_LOOKUP(60, 'dbo', 'DEPARTMENTS', 'DEPARTMENT_NAME', 'DEPARTMENT_ID=?', $DEPARTMENT_ID) hämtar det matchande avdelningsnamnet från målet. |
condition_params representerar en kommaavgränsad lista med argument, inte ett enskilt array-argument. Båda funktionerna använder följande parametrar:
| Parameter | Betydelse |
|---|---|
time_to_live
|
Obligatorisk cachelivslängd, utan standardvärde. Ange cachens livslängd i sekunder, Korta livslängder uppdaterar data som ändras ofta. Längre livslängder minskar antalet slutpunktsfrågor, men kan returnera cachelagrade värden efter att uppslagsdata har ändrats. Använd inget utgångsdatum endast för data som inte ändras. |
schema
|
Schema som innehåller uppslagstabellen, angivet som text. |
table
|
Tabell att köra frågor mot inom det schemat, anges som text. |
expression
|
SQL-uttryck som väljer ett kolumnvärde, till exempel 'DEPARTMENT_NAME' eller 'PRICE * 1.2'. Använd SQL-dialekten för slutpunkten som nås, inte det yttre uttryckets funktionssyntax. |
condition
|
SQL-villkor som identifierar uppslagsposten. Använd den anropade slutpunktens dialekt och platshållarsyntax: till exempel :1 och :2 för Oracle, eller ? för Microsoft SQL Server. |
condition_params
|
Värden bundna till villkorsplatshållarna, i ordning. Kolumnparametrar som $COMPANY_ID och $DEPARTMENT_ID tillhandahåller värden från den aktuella raden. |
Indexera uppslagsfälten för att minska frågekostnaden. Välj ett villkor som identifierar den avsedda posten, och ange den tillagda kolumnens datatyp så att den matchar det valda värdet.
$SOURCE_LOOKUP och $TARGET_LOOKUP stöds inte. Se Testa uttryck.Exempel på källkodssökning
För en Oracle-källa hämtar följande uttryck DEPARTMENT_NAME från HR.DEPARTMENTS och cachelagrar resultatet i 60 sekunder:
$SOURCE_LOOKUP(60, 'HR', 'DEPARTMENTS', 'DEPARTMENT_NAME', 'DEPARTMENT_ID=:1', $DEPARTMENT_ID)
Om den aktuella raden har DEPARTMENT_ID 10 och den matchande uppslagsposten innehåller 'Sales', blir resultatet 'Sales'.
För en Microsoft SQL Server-källa använder du dess syntax för villkorsplatshållare. Det här exemplet binder företags- och avdelningsvärden i den ordningen:
$SOURCE_LOOKUP(60, 'dbo', 'DEPARTMENTS', 'DEPARTMENT_NAME', 'COMPANY_ID=? AND DEPARTMENT_ID=?', $COMPANY_ID, $DEPARTMENT_ID)
Exempel på måluppslagning
För ett Microsoft SQL Server-mål, kör en fråga mot måltabellen med dess SQL-dialekt:
$TARGET_LOOKUP(60, 'dbo', 'DEPARTMENTS', 'DEPARTMENT_NAME', 'DEPARTMENT_ID=?', $DEPARTMENT_ID)
Om måluppslagsposten för avdelning 10 innehåller 'Sales' blir resultatet för ett indatavärde på 10 'Sales'.
Operationsfunktioner
| Funktion | Beteende och argument | Exempel och resultat |
|---|---|---|
$OPERATION_INDICATOR(value_on_delete, value_on_update, value_on_insert)
|
Returnerar den flagga du anger för varje källoperation. Argumentordningen är ta bort, uppdatera, sedan infoga. Använd en dedikerad kolumn för att lagra flaggorna, och ange flaggvärden som matchar dess datatyp. | $OPERATION_INDICATOR('Deleted', 'Updated', 'Inserted') returnerar 'Updated' för en uppdatering. |
I Qlik Replicate ändrar den här funktionen även borttagningshanteringen: den behåller motsvarande målpost och flaggar den med value_on_delete. Detta beteende för borttagningshantering kräver bekräftelse för Qlik Talend Cloud Data Integration.
Logiska funktioner
| Funktion | Beteende och argument | Exempel och resultat |
|---|---|---|
$IFF(boolean_expression, true_value, false_value)
|
Returnerar true_value om boolean_expression utvärderas till sant; annars returneras false_value. Ange villkoret först, följt av de två resultatvärdena. |
$IFF(10 > 5, 'High', 'Low') returnerar 'High'. $IFF(3 > 5, 'High', 'Low') returnerar 'Low'. |
Övriga funktioner
| Funktion | Beteende och argument | Exempel och resultat |
|---|---|---|
$LIKE(pattern, string[, escape_character])
|
Returnerar 1 vid matchning eller 0 vid ingen matchning; NULL-indata ger NULL. % matchar noll eller fler tecken; _ matchar ett. Matchning ignorerar skiftläge för ASCII-bokstäver som standard. Det valfria escape-tecknet är ett tecken. Mönstret kommer först, till skillnad från operatorn LIKE. |
$LIKE('A%', 'Alice') returnerar 1. $LIKE('10!%', '10%', '!') returnerar 1. |
$TYPEOF(expression)
|
Returnerar värdets lagringsklass: 'null', 'integer', 'real', 'text' eller 'blob'. Detta är inte den konfigurerade utdatakolumntypen. |
$TYPEOF(12.5) returnerar 'real'. |
Hashfunktioner
| Funktion | Beteende och argument | Exempel och resultat |
|---|---|---|
$SHA256(string)
|
Returnerar det hexadecimala SHA-256-hashvärdet för indatasträngen. | $SHA256('abc') returnerar ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad. |
En hash är inte kryptering. Förutsägbara indatavärden kan fortfarande identifieras genom att jämföra deras hashvärden.