Search Shortcut cmd + k | ctrl + k
- Installation
- Guides
- Overview
- SQL Features
- Data Import & Export
- CSV Import
- CSV Export
- Parquet Import
- Parquet Export
- Query Parquet
- HTTP Parquet Import
- S3 Parquet Import
- S3 Parquet Export
- JSON Import
- JSON Export
- Excel Import
- Excel Export
- SQLite Import
- Postgres Import
- Meta Queries
- Python
- Install
- Execute SQL
- Jupyter Notebooks
- SQL on Pandas
- Import From Pandas
- Export To Pandas
- SQL on Arrow
- Import From Arrow
- Export To Arrow
- Relational API on Pandas
- Multiple Python Threads
- DuckDB with Ibis
- DuckDB with Fugue
- DuckDB with Polars
- DuckDB with Vaex
- DuckDB with DataFusion
- DuckDB with fsspec filesystems
- SQL Editors
- Data Viewers
- Documentation
- Connect
- Data Import
- Overview
- CSV Files
- JSON Files
- Multiple Files
- Parquet Files
- Partitioning
- Appender
- Insert Statements
- Client APIs
- Overview
- C
- Overview
- Startup
- Configure
- Query
- Data Chunks
- Values
- Types
- Prepared Statements
- Appender
- Table Functions
- Replacement Scans
- API Reference
- C++
- CLI
- Java
- Julia
- Node.js
- ODBC
- Python
- Overview
- Data Ingestion
- Result Conversion
- DB API
- Relational API
- Function API
- Types API
- API Reference
- R
- Rust
- Scala
- Swift
- Wasm
- SQL
- Introduction
- Statements
- Overview
- Alter Table
- Attach/Detach
- Call
- Checkpoint
- Copy
- Create Macro
- Create Schema
- Create Sequence
- Create Table
- Create View
- Delete
- Drop
- Export
- Insert
- Pivot
- Select
- Set/Reset
- Unpivot
- Update
- Use
- Vacuum
- Query Syntax
- SELECT
- FROM & JOIN
- WHERE
- GROUP BY
- GROUPING SETS
- HAVING
- ORDER BY
- LIMIT
- SAMPLE
- UNNEST
- WITH
- WINDOW
- QUALIFY
- VALUES
- FILTER
- Set Operations
- Data Types
- Overview
- Bitstring
- Blob
- Boolean
- Date
- Enum
- Interval
- List
- Map
- NULL Values
- Numeric
- Struct
- Text
- Timestamp
- Union
- Expressions
- Functions
- Overview
- Bitstring Functions
- Blob Functions
- Date Format Functions
- Date Functions
- Date Part Functions
- Enum Functions
- Interval Functions
- Nested Functions
- Numeric Functions
- Pattern Matching
- Text Functions
- Time Functions
- Timestamp Functions
- Timestamp With Time Zone Functions
- Utility Functions
- Aggregates
- Configuration
- Constraints
- Indexes
- Information Schema
- Metadata Functions
- Pragmas
- Samples
- Window Functions
- Extensions
- Sitemap
- Why DuckDB
- Media
- FAQ
- Code of Conduct
- Live Demo
Documentation
/ SQL
/ Expressions
Comparisons
Comparison Operators
The table below shows the standard comparison operators.
Whenever either of the input arguments is NULL
, the output of the comparison is NULL
.
Operator | Description | Example | Result |
---|---|---|---|
< |
less than | 2 < 3 |
TRUE |
> |
greater than | 2 > 3 |
FALSE |
<= |
less than or equal to | 2 <= 3 |
TRUE |
>= |
greater than or equal to | 4 >= NULL |
NULL |
= |
equal | NULL = NULL |
NULL |
<> or != |
not equal | 2 <> 2 |
FALSE |
The table below shows the standard distinction operators.
These operators treat NULL
values as equal.
Operator | Description | Example | Result |
---|---|---|---|
IS DISTINCT FROM |
equal, including NULL |
2 IS DISTINCT FROM NULL |
TRUE |
IS NOT DISTINCT FROM |
not equal, including NULL |
NULL IS NOT DISTINCT FROM NULL |
TRUE |
BETWEEN and IS (NOT) NULL
Besides the standard comparison operators there are also the BETWEEN
and IS (NOT) NULL
operators. These behave much like operators, but have special syntax mandated by the SQL standard. They are shown in the table below.
Note that BETWEEN and NOT BETWEEN are only equivalent to the examples below in the cases where both a
, x
and y
are of the same type, as BETWEEN will cast all of its inputs to the same type.
Predicate | Description |
---|---|
a BETWEEN x AND y |
equivalent to a >= x AND a <= y |
a NOT BETWEEN x AND y |
equivalent to a < x OR a > y |
expression IS NULL |
TRUE if expression is NULL , FALSE otherwise |
expression ISNULL |
alias for IS NULL (non-standard) |
expression IS NOT NULL |
FALSE if expression is NULL , TRUE otherwise |
expression NOTNULL |
alias for IS NOT NULL (non-standard) |