These are standard SQLite 3.45 functions and features. They are not extensions, but they are listed here so you can confirm what is available. See the SQLite documentation for scalar functions, aggregate functions, window functions, and date and time functions.
For JSON functions, see JSON.
Scalar functions
length() counts characters and octet_length() counts bytes, so length('héllo') is 5 and octet_length('héllo') is 6. The LIKE and GLOB operators work, including LIKE ... ESCAPE. changes(), total_changes(), and last_insert_rowid() reflect the last write on the same connection.
Aggregate functions
avg, count, group_concat, string_agg, max, min, sum, and total are available. FILTER works on every aggregate:
ORDER BY inside group_concat() or string_agg(), such as group_concat(name ORDER BY name), is rejected as a parse error. Sort the rows in a subquery first instead.
For median, quartiles, and standard deviation, see Statistics and text.
Window functions
row_number, rank, dense_rank, percent_rank, cume_dist, ntile, lag, lead, first_value, last_value, and nth_value are available, and every built-in aggregate can be used over a window:
Date and time functions
date, time, datetime, julianday, unixepoch, strftime, and timediff are available, along with current_date, current_time, and current_timestamp.
The strftime() formats %d, %e, %f, %F, %H, %I, %j, %J, %k, %l, %m, %M, %p, %P, %R, %s, %S, %T, %u, %w, %W, %Y, and %% are supported.
Statement features
The following SQLite features are available and need no special configuration:
STRICT tables. A value of the wrong type is rejected with a constraint error.
RETURNING clauses on INSERT, UPDATE, and DELETE
UPSERT (INSERT ... ON CONFLICT DO UPDATE)
- Generated columns, virtual and stored
- Common table expressions, including
RECURSIVE and MATERIALIZED
RIGHT JOIN, FULL OUTER JOIN, and IS [NOT] DISTINCT FROM
- Savepoints and transactions on the same connection
IF NOT EXISTS on CREATE VIEW, CREATE TRIGGER, and CREATE INDEX
EXPLAIN and EXPLAIN QUERY PLAN
- The
BINARY, NOCASE, and RTRIM collations
CREATE TEMP TABLE is not supported. For other unsupported statements, see Connection settings.
Not available
- Features added in SQLite 3.46 or later. This includes
json_pretty(), the 'ceiling' and 'floor' date modifiers, and the %G, %g, %U, and %V strftime() formats. The modifiers and formats return NULL.
sqlite_offset()
Last modified on November 2, 2026