Résumé :dans ce tutoriel, vous apprendrez à utiliser le SQLite BETWEEN
opérateur pour tester si une valeur est dans une plage de valeurs.
Introduction à SQLite BETWEEN
Opérateur
Le BETWEEN
L'opérateur est un opérateur logique qui teste si une valeur se trouve dans une plage de valeurs. Si la valeur est dans la plage spécifiée, le BETWEEN
l'opérateur renvoie vrai. Le BETWEEN
l'opérateur peut être utilisé dans le WHERE
clause du SELECT
, DELETE
, UPDATE
, et REPLACE
déclarations.
Ce qui suit illustre la syntaxe du SQLite BETWEEN
opérateur :
test_expression BETWEEN low_expression AND high_expression
Code language: SQL (Structured Query Language) (sql)
Dans cette syntaxe :
test_expression
est une expression à tester dans la plage définie parlow_expression
ethigh_expression
.low_expression
ethigh_expression
est toute expression valide qui spécifie les valeurs inférieure et supérieure de la plage. L'low_expression
doit être inférieur ou égal àhigh_expression
, ou leBETWEEN
est toujours faux.- Le
AND
le mot-clé est un espace réservé qui indique letest_expression
doit être dans la plage spécifiée parlow_expression
ethigh_expression
.
Notez que le BETWEEN
l'opérateur est inclusif. Il renvoie vrai lorsque le test_expression
est inférieur ou égal à high_expression
et supérieur ou égal à la valeur de low_expression
:
test_expression >= low_expression AND test_expression <= high_expression
Code language: SQL (Structured Query Language) (sql)
Pour spécifier une plage exclusive, vous utilisez les opérateurs supérieur à (>) et inférieur à (<).
Notez que si une entrée dans BETWEEN
est NULL, le résultat est NULL, ou inconnu pour être précis.
Pour annuler le résultat de BETWEEN
opérateur, vous utilisez le NOT BETWEEN
opérateur comme suit :
test_expression NOT BETWEEN low_expression AND high_expression
Code language: SQL (Structured Query Language) (sql)
Le PAS BETWEEN
renvoie true si la valeur de test_expression
est inférieur à la valeur de low_expression
ou supérieure à la valeur de high_expression
:
test_expression < low_expression OR test_expression > high_expression
Code language: SQL (Structured Query Language) (sql)
SQLite BETWEEN
exemples d'opérateurs
Nous utiliserons les invoices
table de l'exemple de base de données pour la démonstration :
SQLite BETWEEN
exemple de valeurs numériques
L'instruction suivante trouve les factures dont le total est between
14h96 et 18h86 :
SELECT
InvoiceId,
BillingAddress,
Total
FROM
invoices
WHERE
Total BETWEEN 14.91 and 18.86
ORDER BY
Total;
Code language: SQL (Structured Query Language) (sql)
Voici le résultat :
Comme vous pouvez le voir, les factures dont le total est de 14,91 ou 18,86 sont incluses dans le jeu de résultats.
SQLite NOT BETWEEN
exemple de valeurs numériques
Pour trouver les factures dont le total n'est pas compris entre 1 et 20, vous utilisez le NOT BETWEEN
opérateur comme indiqué dans la requête suivante :
SELECT
InvoiceId,
BillingAddress,
Total
FROM
invoices
WHERE
Total NOT BETWEEN 1 and 20
ORDER BY
Total;
Code language: SQL (Structured Query Language) (sql)
L'image suivante montre la sortie :
Comme indiqué clairement dans la sortie, le résultat inclut les factures dont le total est inférieur à 1 et supérieur à 20.
SQLite BETWEEN
exemple de date
L'exemple suivant recherche les factures dont les dates de facturation sont du January 1 2010
et January 31 2010
:
SELECT
InvoiceId,
BillingAddress,
InvoiceDate,
Total
FROM
invoices
WHERE
InvoiceDate BETWEEN '2010-01-01' AND '2010-01-31'
ORDER BY
InvoiceDate;
Code language: SQL (Structured Query Language) (sql)
Voici le résultat :
SQLite NOT BETWEEN
exemple de date
L'instruction suivante recherche les factures dont les dates ne sont pas comprises entre le 3 janvier 2009 et le 1er décembre 2013 :
SELECT
InvoiceId,
BillingAddress,
date(InvoiceDate) InvoiceDate,
Total
FROM
invoices
WHERE
InvoiceDate NOT BETWEEN '2009-01-03' AND '2013-12-01'
ORDER BY
InvoiceDate;
Code language: SQL (Structured Query Language) (sql)
Le résultat est le suivant :
Dans ce tutoriel, vous avez appris à utiliser le SQLite BETWEEN
opérateur pour tester si une valeur est dans une plage de valeurs