Expressie-operators
Laatst bijgewerkt: 27-10-2026Gebruik operators om waarden te berekenen, invoer te vergelijken en voorwaarden te combineren wanneer Expressies bouwen.
De volgende semantiek is van toepassing op expressies voor verplaatsingstaken. Expressies die worden uitgevoerd op een cloud-dataplatform, gebruiken de semantiek van dat platform. Plaats spaties rond operatoren en zet tekst- en datumconstanten tussen aanhalingstekens, zoals $HIRE_DATE < '2026-10-08'.
Rekenkundige operatoren
| Operator | Betekenis | Voorbeeld en resultaat |
|---|---|---|
+
|
Telt de twee operanden bij elkaar op. | 2 + 3 retourneert 5. |
-
|
Trekt de rechteroperand af van de linker. Een voorafgaand minteken maakt een waarde negatief. | 5 - 2 retourneert 3. |
*
|
Vermenigvuldigt de operanden. | 3 * 4 retourneert 12. |
/
|
Deelt de linkeroperand door de rechter. Geheeltallige deling kapt af naar nul. Een reële operand behoudt een fractioneel resultaat. Deling door nul retourneert NULL. | 7 / 2 retourneert 3; 7.0 / 2 retourneert 3.5. |
%
|
Converteert beide operanden naar gehele getallen en retourneert de rest van de deling. Dit is geen percentageberekening. | 7 % 3 retourneert 1. |
Vergelijkingsoperatoren
Vergelijkingen retourneren 1 voor waar en 0 voor onwaar. Gewone vergelijkingen met NULL retourneren NULL; gebruik IS of IS NOT om ontbrekende waarden te testen.
| Operator | Betekenis | Voorbeeld en resultaat |
|---|---|---|
=
|
Test op gelijkheid. | 3 = 3 retourneert 1. |
!=
|
Controleert op ongelijkheid. | 3 != 4 retourneert 1. |
<>
|
Alternatieve ongelijkheidsoperator. | 3 <> 3 retourneert 0. |
<
|
Controleert of de linkerwaarde kleiner is. | 2 < 3 retourneert 1. |
<=
|
Test op kleiner dan of gelijk aan. | 3 <= 3 retourneert 1. |
>
|
Controleert of de linkerwaarde groter is. | 4 > 3 retourneert 1. |
>=
|
Test op groter dan of gelijk aan. | 3 >= 3 retourneert 1. |
IS
|
Test op gelijkheid zonder NULL te retourneren. Twee NULL-waarden zijn gelijk; een NULL-waarde en een niet-NULL-waarde zijn dat niet. | NULL IS NULL retourneert 1. |
IS NOT
|
Controleert op ongelijkheid zonder NULL te retourneren. | NULL IS NOT 3 retourneert 1. |
Logische en voorwaardelijke operators
| Operator | Betekenis | Voorbeeld en resultaat |
|---|---|---|
AND
|
Waar wanneer beide voorwaarden waar zijn. Een onware operand maakt het resultaat onwaar, zelfs als de andere operand NULL is. | (3 > 2) AND (4 < 3) retourneert 0. |
OR
|
Waar wanneer een van beide voorwaarden waar is. Een true-operand maakt het resultaat true, zelfs als de andere operand NULL is. | (3 > 2) OR (4 < 3) retourneert 1. |
IN
|
Controleert lidmaatschap van een lijst tussen haakjes. Als er geen waarde overeenkomt en de lijst NULL bevat, wordt NULL geretourneerd. Een lege lijst retourneert 0, inclusief voor een NULL-linkeroperand. | 2 IN (1, 2, 3) retourneert 1; 4 IN (1, NULL) retourneert NULL. |
CASE
|
Retourneert de eerste overeenkomende vertakking. Vergelijkt bij een basiswaarde deze met elke WHEN-waarde. Zonder dit wordt elke WHEN-voorwaarde getest. Gebruikt ELSE als er geen vertakking overeenkomt, of NULL als ELSE ontbreekt. | CASE WHEN 5 > 3 THEN 'High' ELSE 'Low' END retourneert 'High'. CASE 2 WHEN 1 THEN 'One' WHEN 2 THEN 'Two' END retourneert 'Two'. |
Tekenreeks- en patroonoperatoren
| Operator | Betekenis | Voorbeeld en resultaat |
|---|---|---|
||
|
Voegt tekstwaarden samen. Een NULL-operand levert NULL op. | 'John' || ' ' || 'Smith' retourneert 'John Smith'. |
LIKE
|
Vergelijkt de linkertekenreeks met het rechterpatroon. % komt overeen met nul of meer tekens; _ komt overeen met één. Negeert standaard het verschil tussen hoofd- en kleine ASCII-letters, maar geen niet-ASCII-hoofdletterverschillen. ESCAPE specificeert één teken voor letterlijke jokertekens. |
'Alice' LIKE 'A%' retourneert 1. '10%' LIKE '10!%' ESCAPE '!' retourneert 1. |
GLOB
|
Hoofdlettergevoelige matching met behulp van patronen in Unix-stijl. * komt overeen met nul of meer tekens, ? komt overeen met één, en vierkante haken definiëren een tekenset. |
'file.csv' GLOB '*.csv' retourneert 1; 'File.CSV' GLOB '*.csv' retourneert 0. |
MATCH
|
Delegeert naar de door de toepassing gedefinieerde functie match(). Een bruikbare implementatie is vereist; de standaard SQLite-implementatie genereert een fout. |
'Quarterly sales' MATCH 'sales' illustreert de syntaxis. Het resultaat is afhankelijk van de implementatie van de applicatie. |
REGEXP
|
Delegeert naar de door de toepassing gedefinieerde functie regexp(). SQLite biedt deze functie standaard niet aan. |
'ABC123' REGEXP '^[A-Z]+[0-9]+$' illustreert de syntaxis. Zonder een implementatie mislukt de evaluatie. |
Bitsgewijze operators
Deze binaire operatoren werken op integerbits, niet op logische voorwaarden. | betekent bitsgewijze OR, zelfs als de editor deze ook in een logische categorie vermeldt.
| Operator | Betekenis | Voorbeeld en resultaat |
|---|---|---|
<<
|
Verschuift het linker gehele getal naar links met het aantal bits in de rechteroperand. | 3 << 1 retourneert 6. |
>>
|
Verschuift het linker gehele getal naar rechts met het aantal bits in de rechteroperand. | 8 >> 1 retourneert 4. |
&
|
Bitsgewijze AND: stelt een resultaatbit alleen in wanneer beide operanden die bit hebben ingesteld. | 6 & 3 retourneert 2. |
|
|
Bitsgewijze OR: stelt een resultaatbit in wanneer die bit in een van beide operanden is ingesteld. | 6 | 3 retourneert 7. |
Evaluatievolgorde en ontbrekende waarden
Voor de bovenstaande binaire operatoren is de prioriteit van hoog naar laag: concatenatie; vermenigvuldiging, deling en restwaarde; optelling en aftrekking; bitsgewijze bewerkingen; geordende vergelijkingen; gelijkheids- en patroontests; AND; en vervolgens OR. Operators op hetzelfde niveau worden van links naar rechts geëvalueerd. Haakjes overschrijven deze volgorde: (2 + 3) * 4 retourneert 20, terwijl 2 + 3 * 4 14 retourneert.
De meeste operators retourneren NULL wanneer een operand NULL is. De hierboven beschreven uitzonderingen omvatten IS, IS NOT en specifieke gevallen van AND, OR en IN. Gebruik $COALESCE wanneer een ontbrekende waarde een vervanging moet hebben. Zie Expressiefuncties.