Summary: in this tutorial, you will learn how to the Db2 BETWEEN
operator to check whether a value lies between two other values.
Introduction to Db2 BETWEEN operator
The Db2 BETWEEN
operator is a logical operator that determines whether a value lies between two values that are specified in ascending order. The BETWEEN
operator is often used in the WHERE
clause of the SELECT
statement to form the search condition for the rows returned by a query.
The following shows the syntax of the BETWEEN
operator:
expression BETWEEN low AND high
Code language: SQL (Structured Query Language) (sql)
In this syntax, low
and high
can be literal values or expressions. The BETWEEN
operator returns true if the value of the expression
lies between the low and high values, or simply:
expression >= low AND expression <= high
Code language: SQL (Structured Query Language) (sql)
The NOT BETWEEN
negates the BETWEEN
operator. It returns true if the value is not between two other values:
expression NOT BETWEEN low AND high
Code language: SQL (Structured Query Language) (sql)
It is equivalent to the following expression:
expression < low OR expression > high
Code language: SQL (Structured Query Language) (sql)
Db2 BETWEEN operator examples
We will use the books
table from the sample database to demonstrate the BETWEEN
operator:

1) Using Db2 BETWEEN operator with numbers example
This example uses the BETWEEN
operator to find books that have the number of pages between 100 and 125:
SELECT
title,
total_pages
FROM
books
WHERE
total_pages BETWEEN 100 AND 125
ORDER BY
total_pages;
Code language: SQL (Structured Query Language) (sql)
Here is the result set:

It is equivalent to the following query:
SELECT
title,
total_pages
FROM
books
WHERE
total_pages >= 100 and total_pages <= 125
ORDER BY
total_pages;
Code language: SQL (Structured Query Language) (sql)
2) Using Db2 BETWEEN operator with dates example
The following example uses the BETWEEN
operator finds books whose published dates are between Jan 01, 2017 and June 30, 2017:
SELECT
title,
published_date
FROM
books
WHERE
published_date BETWEEN '2017-01-01' AND '2017-06-30'
ORDER BY
published_date;
Code language: SQL (Structured Query Language) (sql)
The following picture shows the output:

3) Db2 NOT BETWEEN operator example
This example uses the NOT BETWEEN
operator to find books whose ratings are not between 3 and 4.5:
SELECT
title,
rating
FROM
books
WHERE rating NOT BETWEEN 3 AND 4.5
ORDER BY
rating;
Code language: SQL (Structured Query Language) (sql)

The query above is equivalent to the following query that uses comparison operators with the logical operator OR
:
SELECT
title,
rating
FROM
books
WHERE rating < 3 OR rating > 4.5
ORDER BY
rating;
Code language: SQL (Structured Query Language) (sql)
In this tutorial, you have learned how to use the Db2 BETWEEN
operator to determine whether a value lies between two values.