Get.sql 989 B

12345678910111213141516171819202122232425262728
  1. /* syntax version 1 */
  2. $check = ($arg) -> {
  3. return <|
  4. ryear: DateTime::GetYear($arg),
  5. rdayofyear: DateTime::GetDayOfYear($arg),
  6. rmonth: DateTime::GetMonth($arg),
  7. rmonthname: DateTime::GetMonthName($arg),
  8. rweekofyear: DateTime::GetWeekOfYear($arg),
  9. rweekofyeariso8601: DateTime::GetWeekOfYearIso8601($arg),
  10. rdayofmonth: DateTime::GetDayOfMonth($arg),
  11. rdayofweek: DateTime::GetDayOfWeek($arg),
  12. rdayofweekname: DateTime::GetDayOfWeekName($arg),
  13. rtz: DateTime::GetTimezoneId($arg),
  14. rtzname: DateTime::GetTimezoneName($arg),
  15. |>
  16. };
  17. $typeDispatcher = ($row) -> {
  18. $tm = $row.tm;
  19. return <|
  20. explicit: $check(DateTime::Split($tm)),
  21. implicit: $check($tm),
  22. |>;
  23. };
  24. $input = SELECT CAST(ftimestamp64 AS Timestamp64) as tm FROM Input;
  25. PROCESS $input USING $typeDispatcher(TableRow());