Uttrycksoperatorer
Senast uppdaterad: 2026-10-28Använd operatorer för att beräkna värden, jämföra indata och kombinera villkor när Bygga uttryck.
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
| 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.
| 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
| 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
| 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.
| 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.