SQLite
 sql >> Base de données >  >> RDS >> SQLite

SQLite ENTRE

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 par low_expression et high_expression .
  • low_expression et high_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 le BETWEEN est toujours faux.
  • Le AND le mot-clé est un espace réservé qui indique le test_expression doit être dans la plage spécifiée par low_expression et high_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