# Uttrycksoperatorer

Använd operatorer för att beräkna värden, jämföra indata och kombinera villkor när [Bygga uttryck](https://help.qlik.com/sv-SE/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Transformation/Building-expressions.htm).

Följande semantik gäller för rörelseuppgiftsuttryck. Uttryck som körs på en molndataplattform använder den plattformens semantik. Placera blanksteg runt operatorer och sätt citattecken runt text- och datumkonstanter, till exempel `$HIRE_DATE < '2026-10-08'`.

## Aritmetiska operatorer

Aritmetiska operationer på numeriska värden

| Operator | Betydelse | Exempel och resultat |
| --- | --- | --- |
| `+` | Adderar de två operanderna. | `2 + 3` returnerar `5`. |
| `-` | Subtraherar den högra operanden från den vänstra. Ett inledande minustecken negerar ett värde. | `5 - 2` returnerar `3`. |
| `*` | Multiplicerar operanderna. | `3 * 4` returnerar `12`. |
| `/` | Dividerar den vänstra operanden med den högra. Heltalsdivision trunkerar mot noll. En reell operand bevarar ett bråktalsresultat. Division med noll returnerar NULL. | `7 / 2` returnerar `3`; `7.0 / 2` returnerar `3.5`. |
| `%` | Konverterar båda operanderna till heltal och returnerar divisionsresten. Detta är inte en procentberäkning. | `7 % 3` returnerar `1`. |

## Jämförelseoperatorer

Jämförelser returnerar 1 för sant och 0 för falskt. Vanliga jämförelser med NULL returnerar NULL; använd `IS` eller `IS NOT` för att testa saknade värden.

Jämföra två värden

| Operator | Betydelse | Exempel och resultat |
| --- | --- | --- |
| `=` | Testar likhet. | `3 = 3` returnerar `1`. |
| `!=` | Testar olikhet. | `3 != 4` returnerar `1`. |
| `<>` | Alternativ olikhetsoperator. | `3 <> 3` returnerar `0`. |
| `<` | Testar om det vänstra värdet är mindre. | `2 < 3` returnerar `1`. |
| `<=` | Testar mindre än eller lika med. | `3 <= 3` returnerar `1`. |
| `>` | Testar om det vänstra värdet är större. | `4 > 3` returnerar `1`. |
| `>=` | Testar större än eller lika med. | `3 >= 3` returnerar `1`. |
| `IS` | Testar likhet utan att returnera NULL. Två NULL-värden är lika; ett NULL-värde och ett icke-NULL-värde är det inte. | `NULL IS NULL` returnerar `1`. |
| `IS NOT` | Testar olikhet utan att returnera NULL. | `NULL IS NOT 3` returnerar `1`. |

## Logiska operatorer och villkorsoperatorer

Kombinera villkor och välja värden

| Operator | Betydelse | Exempel och resultat |
| --- | --- | --- |
| `AND` | Sant när båda villkoren är sanna. En falsk operand gör resultatet falskt även om den andra operanden är NULL. | `(3 > 2) AND (4 < 3)` returnerar `0`. |
| `OR` | Sant när endera villkoret är sant. En sann operand gör resultatet sant även om den andra operanden är NULL. | `(3 > 2) OR (4 < 3)` returnerar `1`. |
| `IN` | Testar tillhörighet i en lista inom parentes. Om inget värde matchar och listan innehåller NULL, returneras NULL. En tom lista returnerar 0, inklusive för en vänsteroperand som är NULL. | `2 IN (1, 2, 3)` returnerar `1`; `4 IN (1, NULL)` returnerar NULL. |
| `CASE` | Returnerar den första matchande grenen. Med ett basvärde jämförs det med varje WHEN-värde. Utan ett testas varje WHEN-villkor. Använder ELSE om ingen gren matchar, eller NULL om ELSE saknas. | `CASE WHEN 5 > 3 THEN 'High' ELSE 'Low' END` returnerar `'High'`. `CASE 2 WHEN 1 THEN 'One' WHEN 2 THEN 'Two' END` returnerar `'Two'`. |

## Sträng- och mönsteroperatorer

Sammanfoga text och matcha mönster

| Operator | Betydelse | Exempel och resultat |
| --- | --- | --- |
| `\|\|` | Sammanfogar textvärden. En NULL-operand ger NULL. | `'John' \|\| ' ' \|\| 'Smith'` returnerar `'John Smith'`. |
| `LIKE` | Jämför den vänstra strängen med det högra mönstret. `%` matchar noll eller flera tecken; `_` matchar ett. Ignorerar som standard skiftläge för ASCII, men inte skiftlägesskillnader för icke-ASCII. ESCAPE anger ett enskilt tecken för bokstavliga jokertecken. | `'Alice' LIKE 'A%'` returnerar `1`. `'10%' LIKE '10!%' ESCAPE '!'` returnerar `1`. |
| `GLOB` | Skiftlägeskänslig matchning med mönster i Unix-stil. `*` matchar noll eller fler tecken, `?` matchar ett, och hakparenteser definierar en teckenuppsättning. | `'file.csv' GLOB '*.csv'` returnerar `1`; `'File.CSV' GLOB '*.csv'` returnerar `0`. |
| `MATCH` | Delegerar till den applikationsdefinierade funktionen `match()`. En användbar implementering krävs; standardimplementeringen för SQLite utlöser ett fel. | `'Quarterly sales' MATCH 'sales'` illustrerar syntaxen. Resultatet beror på applikationens implementering. |
| `REGEXP` | Delegerar till den applikationsdefinierade funktionen `regexp()`. SQLite tillhandahåller inte denna funktion som standard. | `'ABC123' REGEXP '^[A-Z]+[0-9]+$'` illustrerar syntaxen. Utan en implementering misslyckas utvärderingen. |

## Bitvisa operatorer

Dessa binära operatorer verkar på heltalsbitar, inte logiska villkor. `|` betyder bitvis ELLER även om redigeraren också listar den i en logisk kategori.

Bitoperationer för heltal

| Operator | Betydelse | Exempel och resultat |
| --- | --- | --- |
| `<<` | Skiftar det vänstra heltalet åt vänster med antalet bitar i den högra operanden. | `3 << 1` returnerar `6`. |
| `>>` | Skiftar det vänstra heltalet åt höger med antalet bitar i den högra operanden. | `8 >> 1` returnerar `4`. |
| `&` | Bitvis OCH: sätter en resultatbit endast där båda operanderna har den biten satt. | `6 & 3` returnerar `2`. |
| `\|` | Bitvis ELLER: sätter en resultatbit där någon av operanderna har den biten satt. | `6 \| 3` returnerar `7`. |

## Utvärderingsordning och saknade värden

För de binära operatorerna ovan är precedensen från högsta till lägsta: konkatenering; multiplikation, division och rest; addition och subtraktion; bitvisa operationer; ordnade jämförelser; likhets- och mönstertester; AND; sedan OR. Operatorer på samma nivå utvärderas från vänster till höger. Parenteser åsidosätter denna ordning: `(2 + 3) * 4` returnerar `20`, medan `2 + 3 * 4` returnerar `14`.

De flesta operatorer returnerar NULL när en operand är NULL. De undantag som beskrivs ovan omfattar `IS`, `IS NOT` och specifika fall av `AND`, `OR` och `IN`. Använd `$COALESCE` när ett saknat värde ska ha en ersättning. Se [Uttrycksfunktioner](https://help.qlik.com/sv-SE/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Transformation/Expression-functions.htm).