Los operadores aritméticos se aplican a valores numéricos. SQLite dispone de los operadores aritméticos habituales:
Además de los operadores unitarios de signo:
Para expresiones lógicas disponemos de los siguientes operadores, los tres de siempre:
El operador NOT, por supuesto, es un operador unitario.
No existen las constantes booleanas true y false. El valor 0 se considera falso, y cualquier valor distinto de 0 se considera verdadero:
sqlite> SELECT 1 OR 3; 1 OR 3 1 sqlite> SELECT 0 AND 3; 0 AND 3 0 sqlite> SELECT NOT 2; NOT 2 0 sqlite>
Tampoco existen, como pasa en MySQL, las alternativas &&, || y ! para los operadores AND, OR y NOT, respectivamente.
Para hacer comparaciones disponemos del arsenal completo de operadores de comparación:
Además de dos específicos para comparar con NULL:
Los operadores de bits incluyen las operaciones básicas, Y, O y No, además de los operadores de desplazamiento a izquierda y derecha.
sqlite> SELECT 1 | 2; 1 | 2 3 sqlite> SELECT 1 & 3; 1 & 3 1 sqlite> SELECT 1 << 3; 1 << 3 8 sqlite> SELECT 8 >> 2; 8 >> 2 2 sqlite> SELECT ~5; ~5 -6 sqlite>
SQLite dispone de un operador para concatenar cadenas:
sqlite> SELECT "Hola" || " y " || "adios"; "Hola" || " y " || "adios" Hola y adios sqlite>
El operadro IN permite verificar si un valor está dentro de un conjunto dado:
sqlite> SELECT 'a' IN ('a','e','i','o','u'); 'a' IN ('a','e','i','o','u') 1 sqlite>
Disponemos de dos operadores para camparar cadenas con un patrón:
sqlite> SELECT 'hola' LIKE '_o%', 'hola' GLOB 'H*'; 'hola' LIKE '_o%'|'hola' GLOB 'H*' 1|0 sqlite>
Por último, disponemos del operador de rango BETWEEN, que permite verificar si un valor está incluído en un rango definido por un valor máximo y un valor mínimo.
El rango no tiene por qué ser de números:
sqlite> SELECT 2 BETWEEN 0 AND 4; 2 BETWEEN 0 AND 4 1 sqlite> SELECT 'fa' BETWEEN 'aa' AND 'zz'; 'fa' BETWEEN 'aa' AND 'zz' 1 sqlite>
© Marzo de 2012, Salvador Pozo Coronado, salvador@conclase.net