ClaudeCloudflare Developer PlatformMar 23, 2026, 12:00 AM

R2 SQL - R2 SQL now supports over 190 new functions, expressions, and complex types

A condensed section focused on the key takeaways first.

Original Post

Quick Digest

Summary

A condensed section focused on the key takeaways first.

claudeenmodel: claude-sonnet-4-20250514

R2 SQL Adds 190+ New Functions and Advanced Query Features

Key Points

  • 190+ new SQL functions and expressions added
  • Common Table Expressions (CTEs) now supported
  • Complex data types with struct/array/map access

Summary

Cloudflare R2 SQL has significantly expanded its capabilities with over 190 new functions, expressions, and complex data type support. This serverless analytics query engine for Apache Iceberg tables now supports advanced SQL features including CASE expressions, CTEs, and comprehensive function libraries.

Key Points

  • Column aliases - SELECT col AS alias now works across all SQL clauses
  • CASE expressions - Both searched and simple conditional logic forms supported
  • 163 scalar functions - Added across math, string, datetime, regex, crypto, encoding, and type inspection categories
  • 33 aggregate functions - Statistical functions (variance, stddev, correlation), bitwise, boolean, and positional aggregates
  • Complex type support - Struct field access with bracket notation, 46 array functions, and map key/value extraction
  • Common Table Expressions (CTEs) - Chained CTEs supported with WITH ... AS syntax (must reference same table)
  • Full expression support - Arithmetic, type casting (CAST, TRY_CAST, :: shorthand), and EXTRACT in all clauses

Full Translation

Translations

A translation section that keeps the flow of the original article.

claudejamodel: claude-sonnet-4-20250514

R2 SQL - R2 SQLが190以上の新しい関数、式、複合型をサポート

R2 SQLが190以上の新しい関数、式、複合型をサポート

2026年3月23日

R2 SQLは拡張されたSQL文法をサポートし、データをエクスポートすることなく、より豊富な分析クエリを記述できるようになりました。このリリースでは以下が追加されました:

  • CASE式
  • カラムエイリアス
  • 句内での算術演算
  • 163のスカラー関数
  • 33の集約関数
  • EXPLAIN
  • 共通テーブル式(CTE)
  • 完全なstruct/array/mapアクセス

R2 SQLは、R2 Data Catalogに保存されたApache Icebergテーブルをクエリするための、Cloudflareのサーバーレス分散分析クエリエンジンです。

ハイライト

  • カラムエイリアスSELECT col AS aliasがすべての句で動作
  • CASE式 — SQLで直接条件ロジックを記述(検索形式と単純形式)
  • スカラー関数 — 数学、文字列、日時、正規表現、暗号化、エンコーディング、型検査カテゴリにわたる163の新しい関数
  • 集約関数 — 統計(分散、標準偏差、相関、回帰)、ビット演算、ブール、位置集約が既存の基本および近似関数に追加
  • 複合型 — ブラケット記法でstruct フィールドをクエリ、46のarray関数を使用、mapのキー/値を抽出
  • 共通テーブル式(CTE)WITH ... ASを使用して名前付き一時結果セットを定義。連鎖CTEをサポート。すべてのCTEは同じ単一テーブルを参照する必要があります。
  • 完全な式サポート — SELECT、WHERE、GROUP BY、HAVING、ORDER BY句での算術演算、型キャスト(CASTTRY_CAST::省略記法)、EXTRACT

統計集約を使用したCASE式

SELECT 
    source,
    CASE 
        WHEN AVG(price) > 30 THEN 'premium'
        WHEN AVG(price) > 10 THEN 'mid-tier'
        ELSE 'budget'
    END AS tier,
    round(stddev(price), 2) AS price_volatility,
    approx_percentile_cont(price, 0.95) AS p95_price
FROM my_namespace.sales_data
GROUP BY source

StructとArrayアクセス

SELECT 
    product_name,
    pricing['price'] AS price,
    array_to_string(tags, ', ') AS tag_list
FROM my_namespace.products
WHERE array_has(tags, 'Action')
ORDER BY pricing['price'] DESC
LIMIT 10

時系列分析での連鎖CTE

WITH monthly AS (
    SELECT 
        date_trunc('month', sale_timestamp) AS month,
        department,
        COUNT(*) AS transactions,
        round(AVG(total_amount), 2) AS avg_amount
    FROM my_namespace.sales_data
    WHERE sale_timestamp BETWEEN '2025-01-01T00:00:00Z' AND '2025-12-31T23:59:59Z'
    GROUP BY date_trunc('month', sale_timestamp), department
),
ranked AS (
    SELECT 
        month,
        department,
        transactions,
        avg_amount,
        CASE 
            WHEN avg_amount > 1000 THEN 'high-value'
            WHEN avg_amount > 500 THEN 'mid-value'
            ELSE 'standard'
        END AS tier
    FROM monthly
    WHERE transactions > 100
)
SELECT * FROM ranked
ORDER BY month, avg_amount DESC

完全な関数リファレンスと構文の詳細については、SQLリファレンスを参照してください。制限事項とベストプラクティスについては、制限事項とベストプラクティスを参照してください。

R2 SQL - R2 SQL now supports over 190 new functions, expressions, and complex types | Cloudflare Developer Platform | DocsDigest