Special Statements
This page covers KQL syntax elements that don't fit neatly into a single function category — including inline data tables, duration literals, dynamic values, verbatim strings, pipe composition, and a few preprocessing transformations the compiler applies automatically before parsing.
Legend: ✅ Supported · ⚠️ Approximated · ❌ Not Supported · 🔄 Rewritten
| Feature | SQLite | MySQL | ClickHouse | PostgreSQL | Notes |
|---|---|---|---|---|---|
datatable | ✅ | ✅ | ✅ | ✅ | CREATE TEMP TABLE + INSERT INTO |
Bare duration literals (e.g. 1d) | ⚠️ | ✅ | ✅ | ✅ | SQLite: warning emitted; no INTERVAL type |
dynamic({}) / dynamic([]) | ✅ | ✅ | ✅ | ✅ | Rendered as JSON string constant |
Verbatim strings @"..." | ✅ | ✅ | ✅ | ✅ | Unescaped string literals |
Pipe chaining (|) | ✅ | ✅ | ✅ | ✅ | Each pipe stage wraps as subquery when needed |
datetime(bare-date) preprocessing | ✅ | ✅ | ✅ | ✅ | Auto-quoted before parsing |
between(datetime() .. datetime()) preprocessing | ✅ | ✅ | ✅ | ✅ | Rewritten to >= / <= before parsing |
Dialect Summary
The table below gives a high-level view of which SQL capabilities are available per dialect, which shapes what KQL features are achievable.
| Capability | SQLite | MySQL | ClickHouse | PostgreSQL |
|---|---|---|---|---|
| ILIKE operator | ❌ | ❌ | ✅ | ✅ |
| RIGHT JOIN | ❌ | ✅ | ✅ | ✅ |
| FULL OUTER JOIN | ❌ | ❌ | ✅ | ✅ |
| Native regex | ❌ | ✅ | ✅ | ✅ |
extractAll / regex capture groups | ❌ | ❌ | ✅ | ❌ |
| Temp tables | ✅ | ✅ | ✅ | ✅ |
CTEs (WITH) | ✅ | ✅ | ✅ | ✅ |
| Array unnesting | ❌ | ❌ | ✅ | ✅ |
| String concat style | || | concat() | concat() | || |
| Date arithmetic style | modifier string | DATE_ADD | subtract* functions | INTERVAL expression |
| Regex match style | none | REGEXP_LIKE | match() | ~ tilde operator |