12345678910111213141516171819202122 |
- /* syntax version 1 */
- $check = ($arg) -> {
- return <|
- soyear: DateTime::MakeTimestamp64(DateTime::StartOfYear($arg)),
- soquarter: DateTime::MakeTimestamp64(DateTime::StartOfQuarter($arg)),
- somonth: DateTime::MakeTimestamp64(DateTime::StartOfMonth($arg)),
- soweek: DateTime::MakeTimestamp64(DateTime::StartOfWeek($arg)),
- soday: DateTime::MakeTimestamp64(DateTime::StartOfDay($arg)),
- |>
- };
- $typeDispatcher = ($row) -> {
- $tm = $row.tm;
- return <|
- explicit: $check(DateTime::Split($tm)),
- implicit: $check($tm),
- |>;
- };
- $input = SELECT CAST(ftimestamp64 as Timestamp64) as tm FROM Input;
- PROCESS $input USING $typeDispatcher(TableRow());
|