Update.sql 2.1 KB

1234567891011121314151617181920212223242526272829303132333435
  1. /* syntax version 1 */
  2. $check = ($arg) -> {
  3. return <|
  4. upyear: CAST(DateTime::MakeTzTimestamp(DateTime::Update($arg, 2005)) AS String),
  5. inyear: CAST(DateTime::MakeTzTimestamp(DateTime::Update($arg, 2200 as Year)) AS String),
  6. upmonth: CAST(DateTime::MakeTzTimestamp(DateTime::Update($arg, NULL, 7)) AS String),
  7. inmonth: CAST(DateTime::MakeTzTimestamp(DateTime::Update($arg, 13 as Month)) AS String),
  8. upday: CAST(DateTime::MakeTzTimestamp(DateTime::Update($arg, NULL, NULL, 20)) AS String),
  9. inday: CAST(DateTime::MakeTzTimestamp(DateTime::Update($arg, 32 as Day)) AS String),
  10. ipdate: CAST(DateTime::MakeTzTimestamp(DateTime::Update($arg, 2018, 2, 30)) AS String),
  11. uptime: CAST(DateTime::MakeTzTimestamp(DateTime::Update($arg, NULL, NULL, NULL, 11, 10, 9)) AS String),
  12. unhour: CAST(DateTime::MakeTzTimestamp(DateTime::Update($arg, 11 as Hour)) AS String),
  13. inhour: CAST(DateTime::MakeTzTimestamp(DateTime::Update($arg, 24 as Hour)) AS String),
  14. unminute: CAST(DateTime::MakeTzTimestamp(DateTime::Update($arg, 10 as Minute)) AS String),
  15. inminute: CAST(DateTime::MakeTzTimestamp(DateTime::Update($arg, 60 as Minute)) AS String),
  16. unsecond: CAST(DateTime::MakeTzTimestamp(DateTime::Update($arg, 9 as Second)) AS String),
  17. insecond: CAST(DateTime::MakeTzTimestamp(DateTime::Update($arg, 60 as Second)) AS String),
  18. unmsec: CAST(DateTime::MakeTzTimestamp(DateTime::Update($arg, 123456 as Microsecond)) AS String),
  19. inmsec: CAST(DateTime::MakeTzTimestamp(DateTime::Update($arg, 2000000 as Microsecond)) AS String),
  20. untzid: CAST(DateTime::MakeTzTimestamp(DateTime::Update($arg, 100 as TimezoneId)) AS String),
  21. intzid: CAST(DateTime::MakeTzTimestamp(DateTime::Update($arg, 1000 as TimezoneId)) AS String),
  22. |>
  23. };
  24. $typeDispatcher = ($row) -> {
  25. $tm = $row.tm;
  26. return <|
  27. explicit: $check(DateTime::Split($tm)),
  28. implicit: $check($tm),
  29. |>;
  30. };
  31. $input = SELECT CAST(ftztimestamp AS TzTimestamp) as tm FROM Input;
  32. PROCESS $input USING $typeDispatcher(TableRow());