/* 日期 */ {{ config( materialized='table', engine='MergeTree', order_by='date_id' ) }} SELECT toUInt32(year(date) * 10000 + month(date) * 100 + day(date)) AS date_id, date AS full_date, toYear(date) AS year, toUInt8(quarter(date)) AS quarter, toUInt8(month(date)) AS month, toUInt8(toDayOfMonth(date)) AS day, toUInt8(week(date)) AS week_num_of_year, toUInt8(toDayOfWeek(date)) AS day_num_of_week FROM ( SELECT arrayJoin( arrayMap( x -> toDate('1990-01-01') + x, range(toUInt32(dateDiff('day', toDate('1990-01-01'), toDate('2031-01-01')))) ) ) AS date ) ORDER BY date_id