add(Ops.DateTimeOps.DATE, "trunc({0})"); add(Ops.DateTimeOps.DAY_OF_YEAR, "dayofyear({0})"); add(Ops.DateTimeOps.DAY_OF_WEEK, "dayofweek({0})"); add(Ops.DateTimeOps.YEAR_WEEK, "(year({0}) * 100 + week({0}))"); add(Ops.DateTimeOps.ADD_YEARS, "date_add({0}, interval {1s} year)"); add(Ops.DateTimeOps.ADD_MONTHS, "date_add({0}, interval {1s} month)"); add(Ops.DateTimeOps.ADD_WEEKS, "date_add({0}, interval {1s} week)"); add(Ops.DateTimeOps.ADD_DAYS, "date_add({0}, interval {1s} day)"); add(Ops.DateTimeOps.ADD_HOURS, "date_add({0}, interval {1s} hour)"); add(Ops.DateTimeOps.ADD_MINUTES, "date_add({0}, interval {1s} minute)"); add(Ops.DateTimeOps.ADD_SECONDS, "date_add({0}, interval {1s} second)"); add(Ops.DateTimeOps.DIFF_YEARS, "(year({1}) - year({0}))"); add(Ops.DateTimeOps.DIFF_MONTHS, "months_between({1}, {0})"); add(Ops.DateTimeOps.DIFF_WEEKS, "ceil(({1}-{0}) / 7)"); add(Ops.DateTimeOps.DIFF_DAYS, "({1}-{0})"); add(Ops.DateTimeOps.DIFF_HOURS, "ceil(" + diffSeconds + " / 3600)"); add(Ops.DateTimeOps.DIFF_MINUTES, "ceil(" + diffSeconds + " / 60)"); add(Ops.DateTimeOps.DIFF_SECONDS, diffSeconds); add(Ops.DateTimeOps.TRUNC_YEAR, "trunc({0},'yyyy')"); add(Ops.DateTimeOps.TRUNC_MONTH, "trunc({0},'mm')"); add(Ops.DateTimeOps.TRUNC_WEEK, "trunc({0},'day')"); add(Ops.DateTimeOps.TRUNC_DAY, "trunc({0},'dd')"); add(Ops.DateTimeOps.TRUNC_HOUR, "timestamp(date({0}),concat(hour({0}),':00:00'))"); add(Ops.DateTimeOps.TRUNC_MINUTE, "timestamp(date({0}),concat(hour({0}),':',minute({0}),':00'))");