typestar

Aritmética de fechas en SQL

En SQLite las fechas son texto, y los modificadores hacen el trabajo de calendario por ti.

SELECT
    placed_at,
    DATE(placed_at, 'start of month') AS month_start,
    DATE(placed_at, 'start of month', '+1 month', '-1 day') AS month_end,
    DATE(placed_at, '+30 days') AS due,
    CAST(JULIANDAY('now') - JULIANDAY(placed_at) AS INTEGER) AS days_old,
    STRFTIME('%w', placed_at) AS weekday
FROM orders
ORDER BY placed_at;

Cómo funciona

  1. Los modificadores se encadenan: 'start of month', luego '+1 month', luego '-1 day'.
  2. Las diferencias de JULIANDAY dan un lapso en días, fracciones incluidas.
  3. STRFTIME formatea, y %w da el día de la semana como 0 a 6.

Palabras clave y builtins usados aquí

El intento, en números

Líneas
9
Caracteres a escribir
312
Tokens
65
Ritmo de tres estrellas
95 tpm

Al ritmo de tres estrellas de 95 tokens por minuto, este intento toma unos 41 segundos.

Escribe este fragmento

Paso 7 de 7 en Expresiones; paso 22 de 24 en Analítica y reportes.

← Anterior Siguiente →