[
https://issues.apache.org/jira/browse/DRILL-3610?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16675167#comment-16675167
]
Volodymyr Vysotskyi commented on DRILL-3610:
--------------------------------------------
As a workaround for the problem above, TIMESTAMPDIFF may be rewritten as CASE
call, which calls EXTRACT for required time units for both dates, subtracts
them, and calls EXTRACT for the next time unit to check, whether the previous
result shouldn't be decreased. For example, for the statement {{SELECT
TIMESTAMPDIFF(YEAR,'2009-04-18','2010-05-18')}} should be called
{{EXTRACT(YEAR,'2010-05-18')-EXTRACT(YEAR,'2009-04-18')}}, and also called
{{EXTRACT(MONTH,'2010-05-18')-EXTRACT(MONTH,'2009-04-18')}} to decrease the
first value by one for the case when the last statement is less than zero.
But it may cause generation of large statements. For the query, specified
above, it will generate the next statements
{code:sql}
+(CASE(AND(>(-(EXTRACT(FLAG(YEAR), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(YEAR), 2019-03-24 17:40:52.123)), 0),
<(+(CASE(AND(>(-(EXTRACT(FLAG(MONTH), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MONTH), 2019-03-24 17:40:52.123)), 0),
<(+(CASE(AND(>(-(EXTRACT(FLAG(DAY), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(DAY), 2019-03-24 17:40:52.123)), 0),
<(+(CASE(AND(>(-(EXTRACT(FLAG(HOUR), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(HOUR), 2019-03-24 17:40:52.123)), 0),
<(+(CASE(AND(>(-(EXTRACT(FLAG(MINUTE), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MINUTE), 2019-03-24 17:40:52.123)), 0),
<(+(CASE(AND(>(-(EXTRACT(FLAG(SECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(SECOND), 2019-03-24 17:40:52.123)), 0),
<(+(CASE(AND(>(-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123)), 0),
<(+(CASE(AND(>(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
<(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), -1,
AND(<(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
>(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), 1, 0),
-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123))), 0)), -1,
AND(<(-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123)), 0),
>(+(CASE(AND(>(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
<(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), -1,
AND(<(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
>(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), 1, 0),
-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123))), 0)), 1, 0),
-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123))), 0)), -1,
AND(<(-(EXTRACT(FLAG(SECOND), 2018-03-25 17:40:52.123), EXTRACT(FLAG(SECOND),
2019-03-24 17:40:52.123)), 0), >(+(CASE(AND(>(-(EXTRACT(FLAG(MILLISECOND),
2018-03-25 17:40:52.123), EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123)),
0), <(+(CASE(AND(>(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
<(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), -1,
AND(<(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
>(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), 1, 0),
-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123))), 0)), -1,
AND(<(-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123)), 0),
>(+(CASE(AND(>(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
<(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), -1,
AND(<(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
>(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), 1, 0),
-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123))), 0)), 1, 0),
-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123))), 0)), 1, 0),
-(EXTRACT(FLAG(SECOND), 2018-03-25 17:40:52.123), EXTRACT(FLAG(SECOND),
2019-03-24 17:40:52.123))), 0)), -1, AND(<(-(EXTRACT(FLAG(MINUTE), 2018-03-25
17:40:52.123), EXTRACT(FLAG(MINUTE), 2019-03-24 17:40:52.123)), 0),
>(+(CASE(AND(>(-(EXTRACT(FLAG(SECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(SECOND), 2019-03-24 17:40:52.123)), 0),
<(+(CASE(AND(>(-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123)), 0),
<(+(CASE(AND(>(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
<(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), -1,
AND(<(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
>(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), 1, 0),
-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123))), 0)), -1,
AND(<(-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123)), 0),
>(+(CASE(AND(>(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
<(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), -1,
AND(<(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
>(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), 1, 0),
-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123))), 0)), 1, 0),
-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123))), 0)), -1,
AND(<(-(EXTRACT(FLAG(SECOND), 2018-03-25 17:40:52.123), EXTRACT(FLAG(SECOND),
2019-03-24 17:40:52.123)), 0), >(+(CASE(AND(>(-(EXTRACT(FLAG(MILLISECOND),
2018-03-25 17:40:52.123), EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123)),
0), <(+(CASE(AND(>(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
<(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), -1,
AND(<(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
>(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), 1, 0),
-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123))), 0)), -1,
AND(<(-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123)), 0),
>(+(CASE(AND(>(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
<(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), -1,
AND(<(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
>(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), 1, 0),
-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123))), 0)), 1, 0),
-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123))), 0)), 1, 0),
-(EXTRACT(FLAG(SECOND), 2018-03-25 17:40:52.123), EXTRACT(FLAG(SECOND),
2019-03-24 17:40:52.123))), 0)), 1, 0), -(EXTRACT(FLAG(MINUTE), 2018-03-25
17:40:52.123), EXTRACT(FLAG(MINUTE), 2019-03-24 17:40:52.123))), 0)), -1,
AND(<(-(EXTRACT(FLAG(HOUR), 2018-03-25 17:40:52.123), EXTRACT(FLAG(HOUR),
2019-03-24 17:40:52.123)), 0), >(+(CASE(AND(>(-(EXTRACT(FLAG(MINUTE),
2018-03-25 17:40:52.123), EXTRACT(FLAG(MINUTE), 2019-03-24 17:40:52.123)), 0),
<(+(CASE(AND(>(-(EXTRACT(FLAG(SECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(SECOND), 2019-03-24 17:40:52.123)), 0),
<(+(CASE(AND(>(-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123)), 0),
<(+(CASE(AND(>(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
<(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), -1,
AND(<(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
>(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), 1, 0),
-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123))), 0)), -1,
AND(<(-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123)), 0),
>(+(CASE(AND(>(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
<(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), -1,
AND(<(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
>(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), 1, 0),
-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123))), 0)), 1, 0),
-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123))), 0)), -1,
AND(<(-(EXTRACT(FLAG(SECOND), 2018-03-25 17:40:52.123), EXTRACT(FLAG(SECOND),
2019-03-24 17:40:52.123)), 0), >(+(CASE(AND(>(-(EXTRACT(FLAG(MILLISECOND),
2018-03-25 17:40:52.123), EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123)),
0), <(+(CASE(AND(>(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
<(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), -1,
AND(<(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
>(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), 1, 0),
-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123))), 0)), -1,
AND(<(-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123)), 0),
>(+(CASE(AND(>(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
<(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), -1,
AND(<(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
>(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), 1, 0),
-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123))), 0)), 1, 0),
-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123))), 0)), 1, 0),
-(EXTRACT(FLAG(SECOND), 2018-03-25 17:40:52.123), EXTRACT(FLAG(SECOND),
2019-03-24 17:40:52.123))), 0)), -1, AND(<(-(EXTRACT(FLAG(MINUTE), 2018-03-25
17:40:52.123), EXTRACT(FLAG(MINUTE), 2019-03-24 17:40:52.123)), 0),
>(+(CASE(AND(>(-(EXTRACT(FLAG(SECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(SECOND), 2019-03-24 17:40:52.123)), 0),
<(+(CASE(AND(>(-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123)), 0),
<(+(CASE(AND(>(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
<(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), -1,
AND(<(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
>(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), 1, 0),
-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123))), 0)), -1,
AND(<(-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123)), 0),
>(+(CASE(AND(>(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
<(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), -1,
AND(<(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
>(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), 1, 0),
-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123))), 0)), 1, 0),
-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123))), 0)), -1,
AND(<(-(EXTRACT(FLAG(SECOND), 2018-03-25 17:40:52.123), EXTRACT(FLAG(SECOND),
2019-03-24 17:40:52.123)), 0), >(+(CASE(AND(>(-(EXTRACT(FLAG(MILLISECOND),
2018-03-25 17:40:52.123), EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123)),
0), <(+(CASE(AND(>(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
<(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), -1,
AND(<(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
>(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), 1, 0),
-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123))), 0)), -1,
AND(<(-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123)), 0),
>(+(CASE(AND(>(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
<(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), -1,
AND(<(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
>(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), 1, 0),
-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123))), 0)), 1, 0),
-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123))), 0)), 1, 0),
-(EXTRACT(FLAG(SECOND), 2018-03-25 17:40:52.123), EXTRACT(FLAG(SECOND),
2019-03-24 17:40:52.123))), 0)), 1, 0), -(EXTRACT(FLAG(MINUTE), 2018-03-25
17:40:52.123), EXTRACT(FLAG(MINUTE), 2019-03-24 17:40:52.123))), 0)), 1, 0),
-(EXTRACT(FLAG(HOUR), 2018-03-25 17:40:52.123), EXTRACT(FLAG(HOUR), 2019-03-24
17:40:52.123))), 0)), -1, AND(<(-(EXTRACT(FLAG(DAY), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(DAY), 2019-03-24 17:40:52.123)), 0),
>(+(CASE(AND(>(-(EXTRACT(FLAG(HOUR), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(HOUR), 2019-03-24 17:40:52.123)), 0),
<(+(CASE(AND(>(-(EXTRACT(FLAG(MINUTE), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MINUTE), 2019-03-24 17:40:52.123)), 0),
<(+(CASE(AND(>(-(EXTRACT(FLAG(SECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(SECOND), 2019-03-24 17:40:52.123)), 0),
<(+(CASE(AND(>(-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123)), 0),
<(+(CASE(AND(>(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
<(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), -1,
AND(<(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
>(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), 1, 0),
-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123))), 0)), -1,
AND(<(-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123)), 0),
>(+(CASE(AND(>(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
<(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), -1,
AND(<(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
>(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), 1, 0),
-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123))), 0)), 1, 0),
-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123))), 0)), -1,
AND(<(-(EXTRACT(FLAG(SECOND), 2018-03-25 17:40:52.123), EXTRACT(FLAG(SECOND),
2019-03-24 17:40:52.123)), 0), >(+(CASE(AND(>(-(EXTRACT(FLAG(MILLISECOND),
2018-03-25 17:40:52.123), EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123)),
0), <(+(CASE(AND(>(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
<(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), -1,
AND(<(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
>(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), 1, 0),
-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123))), 0)), -1,
AND(<(-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123)), 0),
>(+(CASE(AND(>(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
<(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), -1,
AND(<(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
>(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), 1, 0),
-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123))), 0)), 1, 0),
-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123))), 0)), 1, 0),
-(EXTRACT(FLAG(SECOND), 2018-03-25 17:40:52.123), EXTRACT(FLAG(SECOND),
2019-03-24 17:40:52.123))), 0)), -1, AND(<(-(EXTRACT(FLAG(MINUTE), 2018-03-25
17:40:52.123), EXTRACT(FLAG(MINUTE), 2019-03-24 17:40:52.123)), 0),
>(+(CASE(AND(>(-(EXTRACT(FLAG(SECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(SECOND), 2019-03-24 17:40:52.123)), 0),
<(+(CASE(AND(>(-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123)), 0),
<(+(CASE(AND(>(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
<(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), -1,
AND(<(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
>(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), 1, 0),
-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123))), 0)), -1,
AND(<(-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123)), 0),
>(+(CASE(AND(>(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
<(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), -1,
AND(<(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
>(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), 1, 0),
-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123))), 0)), 1, 0),
-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123))), 0)), -1,
AND(<(-(EXTRACT(FLAG(SECOND), 2018-03-25 17:40:52.123), EXTRACT(FLAG(SECOND),
2019-03-24 17:40:52.123)), 0), >(+(CASE(AND(>(-(EXTRACT(FLAG(MILLISECOND),
2018-03-25 17:40:52.123), EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123)),
0), <(+(CASE(AND(>(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
<(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), -1,
AND(<(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
>(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), 1, 0),
-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123))), 0)), -1,
AND(<(-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123)), 0),
>(+(CASE(AND(>(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
<(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), -1,
AND(<(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
>(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), 1, 0),
-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123))), 0)), 1, 0),
-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123))), 0)), 1, 0),
-(EXTRACT(FLAG(SECOND), 2018-03-25 17:40:52.123), EXTRACT(FLAG(SECOND),
2019-03-24 17:40:52.123))), 0)), 1, 0), -(EXTRACT(FLAG(MINUTE), 2018-03-25
17:40:52.123), EXTRACT(FLAG(MINUTE), 2019-03-24 17:40:52.123))), 0)), -1,
AND(<(-(EXTRACT(FLAG(HOUR), 2018-03-25 17:40:52.123), EXTRACT(FLAG(HOUR),
2019-03-24 17:40:52.123)), 0), >(+(CASE(AND(>(-(EXTRACT(FLAG(MINUTE),
2018-03-25 17:40:52.123), EXTRACT(FLAG(MINUTE), 2019-03-24 17:40:52.123)), 0),
<(+(CASE(AND(>(-(EXTRACT(FLAG(SECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(SECOND), 2019-03-24 17:40:52.123)), 0),
<(+(CASE(AND(>(-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123)), 0),
<(+(CASE(AND(>(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
<(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), -1,
AND(<(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
>(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), 1, 0),
-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123))), 0)), -1,
AND(<(-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123)), 0),
>(+(CASE(AND(>(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
<(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), -1,
AND(<(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
>(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), 1, 0),
-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123))), 0)), 1, 0),
-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123))), 0)), -1,
AND(<(-(EXTRACT(FLAG(SECOND), 2018-03-25 17:40:52.123), EXTRACT(FLAG(SECOND),
2019-03-24 17:40:52.123)), 0), >(+(CASE(AND(>(-(EXTRACT(FLAG(MILLISECOND),
2018-03-25 17:40:52.123), EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123)),
0), <(+(CASE(AND(>(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
<(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), -1,
AND(<(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
>(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), 1, 0),
-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123))), 0)), -1,
AND(<(-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123)), 0),
>(+(CASE(AND(>(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
<(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), -1,
AND(<(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
>(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), 1, 0),
-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123))), 0)), 1, 0),
-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123))), 0)), 1, 0),
-(EXTRACT(FLAG(SECOND), 2018-03-25 17:40:52.123), EXTRACT(FLAG(SECOND),
2019-03-24 17:40:52.123))), 0)), -1, AND(<(-(EXTRACT(FLAG(MINUTE), 2018-03-25
17:40:52.123), EXTRACT(FLAG(MINUTE), 2019-03-24 17:40:52.123)), 0),
>(+(CASE(AND(>(-(EXTRACT(FLAG(SECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(SECOND), 2019-03-24 17:40:52.123)), 0),
<(+(CASE(AND(>(-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123)), 0),
<(+(CASE(AND(>(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
<(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), -1,
AND(<(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
>(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), 1, 0),
-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123))), 0)), -1,
AND(<(-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123)), 0),
>(+(CASE(AND(>(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
<(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), -1,
AND(<(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
>(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), 1, 0),
-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123))), 0)), 1, 0),
-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123))), 0)), -1,
AND(<(-(EXTRACT(FLAG(SECOND), 2018-03-25 17:40:52.123), EXTRACT(FLAG(SECOND),
2019-03-24 17:40:52.123)), 0), >(+(CASE(AND(>(-(EXTRACT(FLAG(MILLISECOND),
2018-03-25 17:40:52.123), EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123)),
0), <(+(CASE(AND(>(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
<(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), -1,
AND(<(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
>(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), 1, 0),
-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123))), 0)), -1,
AND(<(-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123)), 0),
>(+(CASE(AND(>(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
<(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), -1,
AND(<(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
>(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), 1, 0),
-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123))), 0)), 1, 0),
-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123))), 0)), 1, 0),
-(EXTRACT(FLAG(SECOND), 2018-03-25 17:40:52.123), EXTRACT(FLAG(SECOND),
2019-03-24 17:40:52.123))), 0)), 1, 0), -(EXTRACT(FLAG(MINUTE), 2018-03-25
17:40:52.123), EXTRACT(FLAG(MINUTE), 2019-03-24 17:40:52.123))), 0)), 1, 0),
-(EXTRACT(FLAG(HOUR), 2018-03-25 17:40:52.123), EXTRACT(FLAG(HOUR), 2019-03-24
17:40:52.123))), 0)), 1, 0), -(EXTRACT(FLAG(DAY), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(DAY), 2019-03-24 17:40:52.123))), 0)), -1,
AND(<(-(EXTRACT(FLAG(MONTH), 2018-03-25 17:40:52.123), EXTRACT(FLAG(MONTH),
2019-03-24 17:40:52.123)), 0), >(+(CASE(AND(>(-(EXTRACT(FLAG(DAY), 2018-03-25
17:40:52.123), EXTRACT(FLAG(DAY), 2019-03-24 17:40:52.123)), 0),
<(+(CASE(AND(>(-(EXTRACT(FLAG(HOUR), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(HOUR), 2019-03-24 17:40:52.123)), 0),
<(+(CASE(AND(>(-(EXTRACT(FLAG(MINUTE), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MINUTE), 2019-03-24 17:40:52.123)), 0),
<(+(CASE(AND(>(-(EXTRACT(FLAG(SECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(SECOND), 2019-03-24 17:40:52.123)), 0),
<(+(CASE(AND(>(-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123)), 0),
<(+(CASE(AND(>(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
<(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), -1,
AND(<(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
>(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), 1, 0),
-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123))), 0)), -1,
AND(<(-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123)), 0),
>(+(CASE(AND(>(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
<(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), -1,
AND(<(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
>(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), 1, 0),
-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123))), 0)), 1, 0),
-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123))), 0)), -1,
AND(<(-(EXTRACT(FLAG(SECOND), 2018-03-25 17:40:52.123), EXTRACT(FLAG(SECOND),
2019-03-24 17:40:52.123)), 0), >(+(CASE(AND(>(-(EXTRACT(FLAG(MILLISECOND),
2018-03-25 17:40:52.123), EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123)),
0), <(+(CASE(AND(>(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
<(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), -1,
AND(<(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
>(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), 1, 0),
-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123))), 0)), -1,
AND(<(-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123)), 0),
>(+(CASE(AND(>(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
<(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), -1,
AND(<(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
>(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), 1, 0),
-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123))), 0)), 1, 0),
-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123))), 0)), 1, 0),
-(EXTRACT(FLAG(SECOND), 2018-03-25 17:40:52.123), EXTRACT(FLAG(SECOND),
2019-03-24 17:40:52.123))), 0)), -1, AND(<(-(EXTRACT(FLAG(MINUTE), 2018-03-25
17:40:52.123), EXTRACT(FLAG(MINUTE), 2019-03-24 17:40:52.123)), 0),
>(+(CASE(AND(>(-(EXTRACT(FLAG(SECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(SECOND), 2019-03-24 17:40:52.123)), 0),
<(+(CASE(AND(>(-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123)), 0),
<(+(CASE(AND(>(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
<(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), -1,
AND(<(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
>(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), 1, 0),
-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123))), 0)), -1,
AND(<(-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123)), 0),
>(+(CASE(AND(>(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
<(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), -1,
AND(<(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
>(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), 1, 0),
-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123))), 0)), 1, 0),
-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123))), 0)), -1,
AND(<(-(EXTRACT(FLAG(SECOND), 2018-03-25 17:40:52.123), EXTRACT(FLAG(SECOND),
2019-03-24 17:40:52.123)), 0), >(+(CASE(AND(>(-(EXTRACT(FLAG(MILLISECOND),
2018-03-25 17:40:52.123), EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123)),
0), <(+(CASE(AND(>(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
<(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), -1,
AND(<(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
>(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), 1, 0),
-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123))), 0)), -1,
AND(<(-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123)), 0),
>(+(CASE(AND(>(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
<(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), -1,
AND(<(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
>(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), 1, 0),
-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123))), 0)), 1, 0),
-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123))), 0)), 1, 0),
-(EXTRACT(FLAG(SECOND), 2018-03-25 17:40:52.123), EXTRACT(FLAG(SECOND),
2019-03-24 17:40:52.123))), 0)), 1, 0), -(EXTRACT(FLAG(MINUTE), 2018-03-25
17:40:52.123), EXTRACT(FLAG(MINUTE), 2019-03-24 17:40:52.123))), 0)), -1,
AND(<(-(EXTRACT(FLAG(HOUR), 2018-03-25 17:40:52.123), EXTRACT(FLAG(HOUR),
2019-03-24 17:40:52.123)), 0), >(+(CASE(AND(>(-(EXTRACT(FLAG(MINUTE),
2018-03-25 17:40:52.123), EXTRACT(FLAG(MINUTE), 2019-03-24 17:40:52.123)), 0),
<(+(CASE(AND(>(-(EXTRACT(FLAG(SECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(SECOND), 2019-03-24 17:40:52.123)), 0),
<(+(CASE(AND(>(-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123)), 0),
<(+(CASE(AND(>(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
<(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), -1,
AND(<(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
>(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), 1, 0),
-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123))), 0)), -1,
AND(<(-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123)), 0),
>(+(CASE(AND(>(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
<(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), -1,
AND(<(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
>(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), 1, 0),
-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123))), 0)), 1, 0),
-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123))), 0)), -1,
AND(<(-(EXTRACT(FLAG(SECOND), 2018-03-25 17:40:52.123), EXTRACT(FLAG(SECOND),
2019-03-24 17:40:52.123)), 0), >(+(CASE(AND(>(-(EXTRACT(FLAG(MILLISECOND),
2018-03-25 17:40:52.123), EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123)),
0), <(+(CASE(AND(>(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
<(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), -1,
AND(<(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
>(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), 1, 0),
-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123))), 0)), -1,
AND(<(-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123)), 0),
>(+(CASE(AND(>(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
<(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), -1,
AND(<(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
>(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), 1, 0),
-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123))), 0)), 1, 0),
-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123))), 0)), 1, 0),
-(EXTRACT(FLAG(SECOND), 2018-03-25 17:40:52.123), EXTRACT(FLAG(SECOND),
2019-03-24 17:40:52.123))), 0)), -1, AND(<(-(EXTRACT(FLAG(MINUTE), 2018-03-25
17:40:52.123), EXTRACT(FLAG(MINUTE), 2019-03-24 17:40:52.123)), 0),
>(+(CASE(AND(>(-(EXTRACT(FLAG(SECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(SECOND), 2019-03-24 17:40:52.123)), 0),
<(+(CASE(AND(>(-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123)), 0),
<(+(CASE(AND(>(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
<(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), -1,
AND(<(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
>(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), 1, 0),
-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123))), 0)), -1,
AND(<(-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123)), 0),
>(+(CASE(AND(>(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
<(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), -1,
AND(<(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
>(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), 1, 0),
-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123))), 0)), 1, 0),
-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123))), 0)), -1,
AND(<(-(EXTRACT(FLAG(SECOND), 2018-03-25 17:40:52.123), EXTRACT(FLAG(SECOND),
2019-03-24 17:40:52.123)), 0), >(+(CASE(AND(>(-(EXTRACT(FLAG(MILLISECOND),
2018-03-25 17:40:52.123), EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123)),
0), <(+(CASE(AND(>(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
<(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), -1,
AND(<(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
>(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), 1, 0),
-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123))), 0)), -1,
AND(<(-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123)), 0),
>(+(CASE(AND(>(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
<(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), -1,
AND(<(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
>(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), 1, 0),
-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123))), 0)), 1, 0),
-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123))), 0)), 1, 0),
-(EXTRACT(FLAG(SECOND), 2018-03-25 17:40:52.123), EXTRACT(FLAG(SECOND),
2019-03-24 17:40:52.123))), 0)), 1, 0), -(EXTRACT(FLAG(MINUTE), 2018-03-25
17:40:52.123), EXTRACT(FLAG(MINUTE), 2019-03-24 17:40:52.123))), 0)), 1, 0),
-(EXTRACT(FLAG(HOUR), 2018-03-25 17:40:52.123), EXTRACT(FLAG(HOUR), 2019-03-24
17:40:52.123))), 0)), -1, AND(<(-(EXTRACT(FLAG(DAY), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(DAY), 2019-03-24 17:40:52.123)), 0),
>(+(CASE(AND(>(-(EXTRACT(FLAG(HOUR), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(HOUR), 2019-03-24 17:40:52.123)), 0),
<(+(CASE(AND(>(-(EXTRACT(FLAG(MINUTE), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MINUTE), 2019-03-24 17:40:52.123)), 0),
<(+(CASE(AND(>(-(EXTRACT(FLAG(SECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(SECOND), 2019-03-24 17:40:52.123)), 0),
<(+(CASE(AND(>(-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123)), 0),
<(+(CASE(AND(>(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
<(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), -1,
AND(<(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
>(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), 1, 0),
-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123))), 0)), -1,
AND(<(-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123)), 0),
>(+(CASE(AND(>(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
<(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), -1,
AND(<(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
>(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), 1, 0),
-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123))), 0)), 1, 0),
-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123))), 0)), -1,
AND(<(-(EXTRACT(FLAG(SECOND), 2018-03-25 17:40:52.123), EXTRACT(FLAG(SECOND),
2019-03-24 17:40:52.123)), 0), >(+(CASE(AND(>(-(EXTRACT(FLAG(MILLISECOND),
2018-03-25 17:40:52.123), EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123)),
0), <(+(CASE(AND(>(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
<(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), -1,
AND(<(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
>(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), 1, 0),
-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123))), 0)), -1,
AND(<(-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123)), 0),
>(+(CASE(AND(>(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
<(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), -1,
AND(<(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
>(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), 1, 0),
-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123))), 0)), 1, 0),
-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123))), 0)), 1, 0),
-(EXTRACT(FLAG(SECOND), 2018-03-25 17:40:52.123), EXTRACT(FLAG(SECOND),
2019-03-24 17:40:52.123))), 0)), -1, AND(<(-(EXTRACT(FLAG(MINUTE), 2018-03-25
17:40:52.123), EXTRACT(FLAG(MINUTE), 2019-03-24 17:40:52.123)), 0),
>(+(CASE(AND(>(-(EXTRACT(FLAG(SECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(SECOND), 2019-03-24 17:40:52.123)), 0),
<(+(CASE(AND(>(-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123)), 0),
<(+(CASE(AND(>(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
<(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), -1,
AND(<(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
>(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), 1, 0),
-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123))), 0)), -1,
AND(<(-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123)), 0),
>(+(CASE(AND(>(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
<(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), -1,
AND(<(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
>(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), 1, 0),
-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123))), 0)), 1, 0),
-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123))), 0)), -1,
AND(<(-(EXTRACT(FLAG(SECOND), 2018-03-25 17:40:52.123), EXTRACT(FLAG(SECOND),
2019-03-24 17:40:52.123)), 0), >(+(CASE(AND(>(-(EXTRACT(FLAG(MILLISECOND),
2018-03-25 17:40:52.123), EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123)),
0), <(+(CASE(AND(>(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
<(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), -1,
AND(<(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
>(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), 1, 0),
-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123))), 0)), -1,
AND(<(-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123)), 0),
>(+(CASE(AND(>(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
<(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), -1,
AND(<(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
>(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), 1, 0),
-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123))), 0)), 1, 0),
-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123))), 0)), 1, 0),
-(EXTRACT(FLAG(SECOND), 2018-03-25 17:40:52.123), EXTRACT(FLAG(SECOND),
2019-03-24 17:40:52.123))), 0)), 1, 0), -(EXTRACT(FLAG(MINUTE), 2018-03-25
17:40:52.123), EXTRACT(FLAG(MINUTE), 2019-03-24 17:40:52.123))), 0)), -1,
AND(<(-(EXTRACT(FLAG(HOUR), 2018-03-25 17:40:52.123), EXTRACT(FLAG(HOUR),
2019-03-24 17:40:52.123)), 0), >(+(CASE(AND(>(-(EXTRACT(FLAG(MINUTE),
2018-03-25 17:40:52.123), EXTRACT(FLAG(MINUTE), 2019-03-24 17:40:52.123)), 0),
<(+(CASE(AND(>(-(EXTRACT(FLAG(SECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(SECOND), 2019-03-24 17:40:52.123)), 0),
<(+(CASE(AND(>(-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123)), 0),
<(+(CASE(AND(>(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
<(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), -1,
AND(<(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
>(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), 1, 0),
-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123))), 0)), -1,
AND(<(-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123)), 0),
>(+(CASE(AND(>(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
<(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), -1,
AND(<(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
>(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), 1, 0),
-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123))), 0)), 1, 0),
-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123))), 0)), -1,
AND(<(-(EXTRACT(FLAG(SECOND), 2018-03-25 17:40:52.123), EXTRACT(FLAG(SECOND),
2019-03-24 17:40:52.123)), 0), >(+(CASE(AND(>(-(EXTRACT(FLAG(MILLISECOND),
2018-03-25 17:40:52.123), EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123)),
0), <(+(CASE(AND(>(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
<(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), -1,
AND(<(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
>(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), 1, 0),
-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123))), 0)), -1,
AND(<(-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123)), 0),
>(+(CASE(AND(>(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
<(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), -1,
AND(<(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
>(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), 1, 0),
-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123))), 0)), 1, 0),
-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123))), 0)), 1, 0),
-(EXTRACT(FLAG(SECOND), 2018-03-25 17:40:52.123), EXTRACT(FLAG(SECOND),
2019-03-24 17:40:52.123))), 0)), -1, AND(<(-(EXTRACT(FLAG(MINUTE), 2018-03-25
17:40:52.123), EXTRACT(FLAG(MINUTE), 2019-03-24 17:40:52.123)), 0),
>(+(CASE(AND(>(-(EXTRACT(FLAG(SECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(SECOND), 2019-03-24 17:40:52.123)), 0),
<(+(CASE(AND(>(-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123)), 0),
<(+(CASE(AND(>(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
<(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), -1,
AND(<(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
>(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), 1, 0),
-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123))), 0)), -1,
AND(<(-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123)), 0),
>(+(CASE(AND(>(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
<(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), -1,
AND(<(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
>(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), 1, 0),
-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123))), 0)), 1, 0),
-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123))), 0)), -1,
AND(<(-(EXTRACT(FLAG(SECOND), 2018-03-25 17:40:52.123), EXTRACT(FLAG(SECOND),
2019-03-24 17:40:52.123)), 0), >(+(CASE(AND(>(-(EXTRACT(FLAG(MILLISECOND),
2018-03-25 17:40:52.123), EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123)),
0), <(+(CASE(AND(>(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
<(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), -1,
AND(<(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
>(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), 1, 0),
-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123))), 0)), -1,
AND(<(-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123)), 0),
>(+(CASE(AND(>(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
<(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), -1,
AND(<(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
>(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), 1, 0),
-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123))), 0)), 1, 0),
-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123))), 0)), 1, 0),
-(EXTRACT(FLAG(SECOND), 2018-03-25 17:40:52.123), EXTRACT(FLAG(SECOND),
2019-03-24 17:40:52.123))), 0)), 1, 0), -(EXTRACT(FLAG(MINUTE), 2018-03-25
17:40:52.123), EXTRACT(FLAG(MINUTE), 2019-03-24 17:40:52.123))), 0)), 1, 0),
-(EXTRACT(FLAG(HOUR), 2018-03-25 17:40:52.123), EXTRACT(FLAG(HOUR), 2019-03-24
17:40:52.123))), 0)), 1, 0), -(EXTRACT(FLAG(DAY), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(DAY), 2019-03-24 17:40:52.123))), 0)), 1, 0),
-(EXTRACT(FLAG(MONTH), 2018-03-25 17:40:52.123), EXTRACT(FLAG(MONTH),
2019-03-24 17:40:52.123))), 0)), -1, AND(<(-(EXTRACT(FLAG(YEAR), 2018-03-25
17:40:52.123), EXTRACT(FLAG(YEAR), 2019-03-24 17:40:52.123)), 0),
>(+(CASE(AND(>(-(EXTRACT(FLAG(MONTH), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MONTH), 2019-03-24 17:40:52.123)), 0),
<(+(CASE(AND(>(-(EXTRACT(FLAG(DAY), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(DAY), 2019-03-24 17:40:52.123)), 0),
<(+(CASE(AND(>(-(EXTRACT(FLAG(HOUR), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(HOUR), 2019-03-24 17:40:52.123)), 0),
<(+(CASE(AND(>(-(EXTRACT(FLAG(MINUTE), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MINUTE), 2019-03-24 17:40:52.123)), 0),
<(+(CASE(AND(>(-(EXTRACT(FLAG(SECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(SECOND), 2019-03-24 17:40:52.123)), 0),
<(+(CASE(AND(>(-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123)), 0),
<(+(CASE(AND(>(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
<(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), -1,
AND(<(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
>(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), 1, 0),
-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123))), 0)), -1,
AND(<(-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123)), 0),
>(+(CASE(AND(>(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
<(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), -1,
AND(<(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
>(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), 1, 0),
-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123))), 0)), 1, 0),
-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123))), 0)), -1,
AND(<(-(EXTRACT(FLAG(SECOND), 2018-03-25 17:40:52.123), EXTRACT(FLAG(SECOND),
2019-03-24 17:40:52.123)), 0), >(+(CASE(AND(>(-(EXTRACT(FLAG(MILLISECOND),
2018-03-25 17:40:52.123), EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123)),
0), <(+(CASE(AND(>(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
<(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), -1,
AND(<(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
>(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), 1, 0),
-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123))), 0)), -1,
AND(<(-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123)), 0),
>(+(CASE(AND(>(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
<(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), -1,
AND(<(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
>(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), 1, 0),
-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123))), 0)), 1, 0),
-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123))), 0)), 1, 0),
-(EXTRACT(FLAG(SECOND), 2018-03-25 17:40:52.123), EXTRACT(FLAG(SECOND),
2019-03-24 17:40:52.123))), 0)), -1, AND(<(-(EXTRACT(FLAG(MINUTE), 2018-03-25
17:40:52.123), EXTRACT(FLAG(MINUTE), 2019-03-24 17:40:52.123)), 0),
>(+(CASE(AND(>(-(EXTRACT(FLAG(SECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(SECOND), 2019-03-24 17:40:52.123)), 0),
<(+(CASE(AND(>(-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123)), 0),
<(+(CASE(AND(>(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
<(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), -1,
AND(<(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
>(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), 1, 0),
-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123))), 0)), -1,
AND(<(-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123)), 0),
>(+(CASE(AND(>(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
<(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), -1,
AND(<(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
>(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), 1, 0),
-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123))), 0)), 1, 0),
-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123))), 0)), -1,
AND(<(-(EXTRACT(FLAG(SECOND), 2018-03-25 17:40:52.123), EXTRACT(FLAG(SECOND),
2019-03-24 17:40:52.123)), 0), >(+(CASE(AND(>(-(EXTRACT(FLAG(MILLISECOND),
2018-03-25 17:40:52.123), EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123)),
0), <(+(CASE(AND(>(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
<(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), -1,
AND(<(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
>(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), 1, 0),
-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123))), 0)), -1,
AND(<(-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123)), 0),
>(+(CASE(AND(>(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
<(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), -1,
AND(<(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
>(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), 1, 0),
-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123))), 0)), 1, 0),
-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123))), 0)), 1, 0),
-(EXTRACT(FLAG(SECOND), 2018-03-25 17:40:52.123), EXTRACT(FLAG(SECOND),
2019-03-24 17:40:52.123))), 0)), 1, 0), -(EXTRACT(FLAG(MINUTE), 2018-03-25
17:40:52.123), EXTRACT(FLAG(MINUTE), 2019-03-24 17:40:52.123))), 0)), -1,
AND(<(-(EXTRACT(FLAG(HOUR), 2018-03-25 17:40:52.123), EXTRACT(FLAG(HOUR),
2019-03-24 17:40:52.123)), 0), >(+(CASE(AND(>(-(EXTRACT(FLAG(MINUTE),
2018-03-25 17:40:52.123), EXTRACT(FLAG(MINUTE), 2019-03-24 17:40:52.123)), 0),
<(+(CASE(AND(>(-(EXTRACT(FLAG(SECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(SECOND), 2019-03-24 17:40:52.123)), 0),
<(+(CASE(AND(>(-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123)), 0),
<(+(CASE(AND(>(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
<(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), -1,
AND(<(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
>(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), 1, 0),
-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123))), 0)), -1,
AND(<(-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123)), 0),
>(+(CASE(AND(>(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
<(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), -1,
AND(<(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
>(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), 1, 0),
-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123))), 0)), 1, 0),
-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123))), 0)), -1,
AND(<(-(EXTRACT(FLAG(SECOND), 2018-03-25 17:40:52.123), EXTRACT(FLAG(SECOND),
2019-03-24 17:40:52.123)), 0), >(+(CASE(AND(>(-(EXTRACT(FLAG(MILLISECOND),
2018-03-25 17:40:52.123), EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123)),
0), <(+(CASE(AND(>(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
<(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), -1,
AND(<(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
>(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), 1, 0),
-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123))), 0)), -1,
AND(<(-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123)), 0),
>(+(CASE(AND(>(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
<(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), -1,
AND(<(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
>(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), 1, 0),
-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123))), 0)), 1, 0),
-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123))), 0)), 1, 0),
-(EXTRACT(FLAG(SECOND), 2018-03-25 17:40:52.123), EXTRACT(FLAG(SECOND),
2019-03-24 17:40:52.123))), 0)), -1, AND(<(-(EXTRACT(FLAG(MINUTE), 2018-03-25
17:40:52.123), EXTRACT(FLAG(MINUTE), 2019-03-24 17:40:52.123)), 0),
>(+(CASE(AND(>(-(EXTRACT(FLAG(SECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(SECOND), 2019-03-24 17:40:52.123)), 0),
<(+(CASE(AND(>(-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123)), 0),
<(+(CASE(AND(>(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
<(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), -1,
AND(<(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
>(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), 1, 0),
-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123))), 0)), -1,
AND(<(-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123)), 0),
>(+(CASE(AND(>(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
<(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), -1,
AND(<(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
>(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), 1, 0),
-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123))), 0)), 1, 0),
-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123))), 0)), -1,
AND(<(-(EXTRACT(FLAG(SECOND), 2018-03-25 17:40:52.123), EXTRACT(FLAG(SECOND),
2019-03-24 17:40:52.123)), 0), >(+(CASE(AND(>(-(EXTRACT(FLAG(MILLISECOND),
2018-03-25 17:40:52.123), EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123)),
0), <(+(CASE(AND(>(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
<(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), -1,
AND(<(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
>(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), 1, 0),
-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123))), 0)), -1,
AND(<(-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123)), 0),
>(+(CASE(AND(>(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
<(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), -1,
AND(<(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
>(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), 1, 0),
-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123))), 0)), 1, 0),
-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123))), 0)), 1, 0),
-(EXTRACT(FLAG(SECOND), 2018-03-25 17:40:52.123), EXTRACT(FLAG(SECOND),
2019-03-24 17:40:52.123))), 0)), 1, 0), -(EXTRACT(FLAG(MINUTE), 2018-03-25
17:40:52.123), EXTRACT(FLAG(MINUTE), 2019-03-24 17:40:52.123))), 0)), 1, 0),
-(EXTRACT(FLAG(HOUR), 2018-03-25 17:40:52.123), EXTRACT(FLAG(HOUR), 2019-03-24
17:40:52.123))), 0)), -1, AND(<(-(EXTRACT(FLAG(DAY), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(DAY), 2019-03-24 17:40:52.123)), 0),
>(+(CASE(AND(>(-(EXTRACT(FLAG(HOUR), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(HOUR), 2019-03-24 17:40:52.123)), 0),
<(+(CASE(AND(>(-(EXTRACT(FLAG(MINUTE), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MINUTE), 2019-03-24 17:40:52.123)), 0),
<(+(CASE(AND(>(-(EXTRACT(FLAG(SECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(SECOND), 2019-03-24 17:40:52.123)), 0),
<(+(CASE(AND(>(-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123)), 0),
<(+(CASE(AND(>(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
<(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), -1,
AND(<(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
>(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), 1, 0),
-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123))), 0)), -1,
AND(<(-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123)), 0),
>(+(CASE(AND(>(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
<(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), -1,
AND(<(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
>(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), 1, 0),
-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123))), 0)), 1, 0),
-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123))), 0)), -1,
AND(<(-(EXTRACT(FLAG(SECOND), 2018-03-25 17:40:52.123), EXTRACT(FLAG(SECOND),
2019-03-24 17:40:52.123)), 0), >(+(CASE(AND(>(-(EXTRACT(FLAG(MILLISECOND),
2018-03-25 17:40:52.123), EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123)),
0), <(+(CASE(AND(>(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
<(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), -1,
AND(<(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
>(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), 1, 0),
-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123))), 0)), -1,
AND(<(-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123)), 0),
>(+(CASE(AND(>(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
<(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), -1,
AND(<(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
>(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), 1, 0),
-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123))), 0)), 1, 0),
-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123))), 0)), 1, 0),
-(EXTRACT(FLAG(SECOND), 2018-03-25 17:40:52.123), EXTRACT(FLAG(SECOND),
2019-03-24 17:40:52.123))), 0)), -1, AND(<(-(EXTRACT(FLAG(MINUTE), 2018-03-25
17:40:52.123), EXTRACT(FLAG(MINUTE), 2019-03-24 17:40:52.123)), 0),
>(+(CASE(AND(>(-(EXTRACT(FLAG(SECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(SECOND), 2019-03-24 17:40:52.123)), 0),
<(+(CASE(AND(>(-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123)), 0),
<(+(CASE(AND(>(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
<(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), -1,
AND(<(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
>(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), 1, 0),
-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123))), 0)), -1,
AND(<(-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123)), 0),
>(+(CASE(AND(>(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
<(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), -1,
AND(<(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
>(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), 1, 0),
-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123))), 0)), 1, 0),
-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123))), 0)), -1,
AND(<(-(EXTRACT(FLAG(SECOND), 2018-03-25 17:40:52.123), EXTRACT(FLAG(SECOND),
2019-03-24 17:40:52.123)), 0), >(+(CASE(AND(>(-(EXTRACT(FLAG(MILLISECOND),
2018-03-25 17:40:52.123), EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123)),
0), <(+(CASE(AND(>(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
<(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), -1,
AND(<(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
>(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), 1, 0),
-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123))), 0)), -1,
AND(<(-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123)), 0),
>(+(CASE(AND(>(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
<(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), -1,
AND(<(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
>(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), 1, 0),
-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123))), 0)), 1, 0),
-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123))), 0)), 1, 0),
-(EXTRACT(FLAG(SECOND), 2018-03-25 17:40:52.123), EXTRACT(FLAG(SECOND),
2019-03-24 17:40:52.123))), 0)), 1, 0), -(EXTRACT(FLAG(MINUTE), 2018-03-25
17:40:52.123), EXTRACT(FLAG(MINUTE), 2019-03-24 17:40:52.123))), 0)), -1,
AND(<(-(EXTRACT(FLAG(HOUR), 2018-03-25 17:40:52.123), EXTRACT(FLAG(HOUR),
2019-03-24 17:40:52.123)), 0), >(+(CASE(AND(>(-(EXTRACT(FLAG(MINUTE),
2018-03-25 17:40:52.123), EXTRACT(FLAG(MINUTE), 2019-03-24 17:40:52.123)), 0),
<(+(CASE(AND(>(-(EXTRACT(FLAG(SECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(SECOND), 2019-03-24 17:40:52.123)), 0),
<(+(CASE(AND(>(-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123)), 0),
<(+(CASE(AND(>(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
<(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), -1,
AND(<(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
>(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), 1, 0),
-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123))), 0)), -1,
AND(<(-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123)), 0),
>(+(CASE(AND(>(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
<(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), -1,
AND(<(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
>(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), 1, 0),
-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123))), 0)), 1, 0),
-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123))), 0)), -1,
AND(<(-(EXTRACT(FLAG(SECOND), 2018-03-25 17:40:52.123), EXTRACT(FLAG(SECOND),
2019-03-24 17:40:52.123)), 0), >(+(CASE(AND(>(-(EXTRACT(FLAG(MILLISECOND),
2018-03-25 17:40:52.123), EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123)),
0), <(+(CASE(AND(>(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
<(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), -1,
AND(<(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
>(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), 1, 0),
-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123))), 0)), -1,
AND(<(-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123)), 0),
>(+(CASE(AND(>(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
<(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), -1,
AND(<(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
>(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), 1, 0),
-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123))), 0)), 1, 0),
-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123))), 0)), 1, 0),
-(EXTRACT(FLAG(SECOND), 2018-03-25 17:40:52.123), EXTRACT(FLAG(SECOND),
2019-03-24 17:40:52.123))), 0)), -1, AND(<(-(EXTRACT(FLAG(MINUTE), 2018-03-25
17:40:52.123), EXTRACT(FLAG(MINUTE), 2019-03-24 17:40:52.123)), 0),
>(+(CASE(AND(>(-(EXTRACT(FLAG(SECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(SECOND), 2019-03-24 17:40:52.123)), 0),
<(+(CASE(AND(>(-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123)), 0),
<(+(CASE(AND(>(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
<(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), -1,
AND(<(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
>(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), 1, 0),
-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123))), 0)), -1,
AND(<(-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123)), 0),
>(+(CASE(AND(>(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
<(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), -1,
AND(<(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
>(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), 1, 0),
-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123))), 0)), 1, 0),
-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123))), 0)), -1,
AND(<(-(EXTRACT(FLAG(SECOND), 2018-03-25 17:40:52.123), EXTRACT(FLAG(SECOND),
2019-03-24 17:40:52.123)), 0), >(+(CASE(AND(>(-(EXTRACT(FLAG(MILLISECOND),
2018-03-25 17:40:52.123), EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123)),
0), <(+(CASE(AND(>(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
<(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), -1,
AND(<(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
>(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), 1, 0),
-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123))), 0)), -1,
AND(<(-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123)), 0),
>(+(CASE(AND(>(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
<(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), -1,
AND(<(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
>(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), 1, 0),
-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123))), 0)), 1, 0),
-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123))), 0)), 1, 0),
-(EXTRACT(FLAG(SECOND), 2018-03-25 17:40:52.123), EXTRACT(FLAG(SECOND),
2019-03-24 17:40:52.123))), 0)), 1, 0), -(EXTRACT(FLAG(MINUTE), 2018-03-25
17:40:52.123), EXTRACT(FLAG(MINUTE), 2019-03-24 17:40:52.123))), 0)), 1, 0),
-(EXTRACT(FLAG(HOUR), 2018-03-25 17:40:52.123), EXTRACT(FLAG(HOUR), 2019-03-24
17:40:52.123))), 0)), 1, 0), -(EXTRACT(FLAG(DAY), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(DAY), 2019-03-24 17:40:52.123))), 0)), -1,
AND(<(-(EXTRACT(FLAG(MONTH), 2018-03-25 17:40:52.123), EXTRACT(FLAG(MONTH),
2019-03-24 17:40:52.123)), 0), >(+(CASE(AND(>(-(EXTRACT(FLAG(DAY), 2018-03-25
17:40:52.123), EXTRACT(FLAG(DAY), 2019-03-24 17:40:52.123)), 0),
<(+(CASE(AND(>(-(EXTRACT(FLAG(HOUR), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(HOUR), 2019-03-24 17:40:52.123)), 0),
<(+(CASE(AND(>(-(EXTRACT(FLAG(MINUTE), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MINUTE), 2019-03-24 17:40:52.123)), 0),
<(+(CASE(AND(>(-(EXTRACT(FLAG(SECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(SECOND), 2019-03-24 17:40:52.123)), 0),
<(+(CASE(AND(>(-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123)), 0),
<(+(CASE(AND(>(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
<(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), -1,
AND(<(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
>(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), 1, 0),
-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123))), 0)), -1,
AND(<(-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123)), 0),
>(+(CASE(AND(>(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
<(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), -1,
AND(<(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
>(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), 1, 0),
-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123))), 0)), 1, 0),
-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123))), 0)), -1,
AND(<(-(EXTRACT(FLAG(SECOND), 2018-03-25 17:40:52.123), EXTRACT(FLAG(SECOND),
2019-03-24 17:40:52.123)), 0), >(+(CASE(AND(>(-(EXTRACT(FLAG(MILLISECOND),
2018-03-25 17:40:52.123), EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123)),
0), <(+(CASE(AND(>(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
<(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), -1,
AND(<(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
>(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), 1, 0),
-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123))), 0)), -1,
AND(<(-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123)), 0),
>(+(CASE(AND(>(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
<(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), -1,
AND(<(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
>(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), 1, 0),
-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123))), 0)), 1, 0),
-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123))), 0)), 1, 0),
-(EXTRACT(FLAG(SECOND), 2018-03-25 17:40:52.123), EXTRACT(FLAG(SECOND),
2019-03-24 17:40:52.123))), 0)), -1, AND(<(-(EXTRACT(FLAG(MINUTE), 2018-03-25
17:40:52.123), EXTRACT(FLAG(MINUTE), 2019-03-24 17:40:52.123)), 0),
>(+(CASE(AND(>(-(EXTRACT(FLAG(SECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(SECOND), 2019-03-24 17:40:52.123)), 0),
<(+(CASE(AND(>(-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123)), 0),
<(+(CASE(AND(>(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
<(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), -1,
AND(<(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
>(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), 1, 0),
-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123))), 0)), -1,
AND(<(-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123)), 0),
>(+(CASE(AND(>(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
<(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), -1,
AND(<(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
>(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), 1, 0),
-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123))), 0)), 1, 0),
-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123))), 0)), -1,
AND(<(-(EXTRACT(FLAG(SECOND), 2018-03-25 17:40:52.123), EXTRACT(FLAG(SECOND),
2019-03-24 17:40:52.123)), 0), >(+(CASE(AND(>(-(EXTRACT(FLAG(MILLISECOND),
2018-03-25 17:40:52.123), EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123)),
0), <(+(CASE(AND(>(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
<(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), -1,
AND(<(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
>(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), 1, 0),
-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123))), 0)), -1,
AND(<(-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123)), 0),
>(+(CASE(AND(>(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
<(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), -1,
AND(<(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
>(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), 1, 0),
-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123))), 0)), 1, 0),
-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123))), 0)), 1, 0),
-(EXTRACT(FLAG(SECOND), 2018-03-25 17:40:52.123), EXTRACT(FLAG(SECOND),
2019-03-24 17:40:52.123))), 0)), 1, 0), -(EXTRACT(FLAG(MINUTE), 2018-03-25
17:40:52.123), EXTRACT(FLAG(MINUTE), 2019-03-24 17:40:52.123))), 0)), -1,
AND(<(-(EXTRACT(FLAG(HOUR), 2018-03-25 17:40:52.123), EXTRACT(FLAG(HOUR),
2019-03-24 17:40:52.123)), 0), >(+(CASE(AND(>(-(EXTRACT(FLAG(MINUTE),
2018-03-25 17:40:52.123), EXTRACT(FLAG(MINUTE), 2019-03-24 17:40:52.123)), 0),
<(+(CASE(AND(>(-(EXTRACT(FLAG(SECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(SECOND), 2019-03-24 17:40:52.123)), 0),
<(+(CASE(AND(>(-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123)), 0),
<(+(CASE(AND(>(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
<(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), -1,
AND(<(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
>(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), 1, 0),
-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123))), 0)), -1,
AND(<(-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123)), 0),
>(+(CASE(AND(>(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
<(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), -1,
AND(<(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
>(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), 1, 0),
-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123))), 0)), 1, 0),
-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123))), 0)), -1,
AND(<(-(EXTRACT(FLAG(SECOND), 2018-03-25 17:40:52.123), EXTRACT(FLAG(SECOND),
2019-03-24 17:40:52.123)), 0), >(+(CASE(AND(>(-(EXTRACT(FLAG(MILLISECOND),
2018-03-25 17:40:52.123), EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123)),
0), <(+(CASE(AND(>(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
<(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), -1,
AND(<(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
>(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), 1, 0),
-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123))), 0)), -1,
AND(<(-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123)), 0),
>(+(CASE(AND(>(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
<(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), -1,
AND(<(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
>(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), 1, 0),
-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123))), 0)), 1, 0),
-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123))), 0)), 1, 0),
-(EXTRACT(FLAG(SECOND), 2018-03-25 17:40:52.123), EXTRACT(FLAG(SECOND),
2019-03-24 17:40:52.123))), 0)), -1, AND(<(-(EXTRACT(FLAG(MINUTE), 2018-03-25
17:40:52.123), EXTRACT(FLAG(MINUTE), 2019-03-24 17:40:52.123)), 0),
>(+(CASE(AND(>(-(EXTRACT(FLAG(SECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(SECOND), 2019-03-24 17:40:52.123)), 0),
<(+(CASE(AND(>(-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123)), 0),
<(+(CASE(AND(>(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
<(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), -1,
AND(<(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
>(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), 1, 0),
-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123))), 0)), -1,
AND(<(-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123)), 0),
>(+(CASE(AND(>(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
<(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), -1,
AND(<(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
>(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), 1, 0),
-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123))), 0)), 1, 0),
-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123))), 0)), -1,
AND(<(-(EXTRACT(FLAG(SECOND), 2018-03-25 17:40:52.123), EXTRACT(FLAG(SECOND),
2019-03-24 17:40:52.123)), 0), >(+(CASE(AND(>(-(EXTRACT(FLAG(MILLISECOND),
2018-03-25 17:40:52.123), EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123)),
0), <(+(CASE(AND(>(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
<(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), -1,
AND(<(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
>(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), 1, 0),
-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123))), 0)), -1,
AND(<(-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123)), 0),
>(+(CASE(AND(>(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
<(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), -1,
AND(<(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
>(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), 1, 0),
-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123))), 0)), 1, 0),
-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123))), 0)), 1, 0),
-(EXTRACT(FLAG(SECOND), 2018-03-25 17:40:52.123), EXTRACT(FLAG(SECOND),
2019-03-24 17:40:52.123))), 0)), 1, 0), -(EXTRACT(FLAG(MINUTE), 2018-03-25
17:40:52.123), EXTRACT(FLAG(MINUTE), 2019-03-24 17:40:52.123))), 0)), 1, 0),
-(EXTRACT(FLAG(HOUR), 2018-03-25 17:40:52.123), EXTRACT(FLAG(HOUR), 2019-03-24
17:40:52.123))), 0)), -1, AND(<(-(EXTRACT(FLAG(DAY), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(DAY), 2019-03-24 17:40:52.123)), 0),
>(+(CASE(AND(>(-(EXTRACT(FLAG(HOUR), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(HOUR), 2019-03-24 17:40:52.123)), 0),
<(+(CASE(AND(>(-(EXTRACT(FLAG(MINUTE), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MINUTE), 2019-03-24 17:40:52.123)), 0),
<(+(CASE(AND(>(-(EXTRACT(FLAG(SECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(SECOND), 2019-03-24 17:40:52.123)), 0),
<(+(CASE(AND(>(-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123)), 0),
<(+(CASE(AND(>(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
<(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), -1,
AND(<(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
>(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), 1, 0),
-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123))), 0)), -1,
AND(<(-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123)), 0),
>(+(CASE(AND(>(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
<(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), -1,
AND(<(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
>(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), 1, 0),
-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123))), 0)), 1, 0),
-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123))), 0)), -1,
AND(<(-(EXTRACT(FLAG(SECOND), 2018-03-25 17:40:52.123), EXTRACT(FLAG(SECOND),
2019-03-24 17:40:52.123)), 0), >(+(CASE(AND(>(-(EXTRACT(FLAG(MILLISECOND),
2018-03-25 17:40:52.123), EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123)),
0), <(+(CASE(AND(>(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
<(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), -1,
AND(<(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
>(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), 1, 0),
-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123))), 0)), -1,
AND(<(-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123)), 0),
>(+(CASE(AND(>(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
<(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), -1,
AND(<(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
>(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), 1, 0),
-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123))), 0)), 1, 0),
-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123))), 0)), 1, 0),
-(EXTRACT(FLAG(SECOND), 2018-03-25 17:40:52.123), EXTRACT(FLAG(SECOND),
2019-03-24 17:40:52.123))), 0)), -1, AND(<(-(EXTRACT(FLAG(MINUTE), 2018-03-25
17:40:52.123), EXTRACT(FLAG(MINUTE), 2019-03-24 17:40:52.123)), 0),
>(+(CASE(AND(>(-(EXTRACT(FLAG(SECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(SECOND), 2019-03-24 17:40:52.123)), 0),
<(+(CASE(AND(>(-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123)), 0),
<(+(CASE(AND(>(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
<(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), -1,
AND(<(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
>(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), 1, 0),
-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123))), 0)), -1,
AND(<(-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123)), 0),
>(+(CASE(AND(>(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
<(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), -1,
AND(<(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
>(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), 1, 0),
-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123))), 0)), 1, 0),
-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123))), 0)), -1,
AND(<(-(EXTRACT(FLAG(SECOND), 2018-03-25 17:40:52.123), EXTRACT(FLAG(SECOND),
2019-03-24 17:40:52.123)), 0), >(+(CASE(AND(>(-(EXTRACT(FLAG(MILLISECOND),
2018-03-25 17:40:52.123), EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123)),
0), <(+(CASE(AND(>(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
<(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), -1,
AND(<(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
>(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), 1, 0),
-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123))), 0)), -1,
AND(<(-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123)), 0),
>(+(CASE(AND(>(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
<(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), -1,
AND(<(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
>(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), 1, 0),
-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123))), 0)), 1, 0),
-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123))), 0)), 1, 0),
-(EXTRACT(FLAG(SECOND), 2018-03-25 17:40:52.123), EXTRACT(FLAG(SECOND),
2019-03-24 17:40:52.123))), 0)), 1, 0), -(EXTRACT(FLAG(MINUTE), 2018-03-25
17:40:52.123), EXTRACT(FLAG(MINUTE), 2019-03-24 17:40:52.123))), 0)), -1,
AND(<(-(EXTRACT(FLAG(HOUR), 2018-03-25 17:40:52.123), EXTRACT(FLAG(HOUR),
2019-03-24 17:40:52.123)), 0), >(+(CASE(AND(>(-(EXTRACT(FLAG(MINUTE),
2018-03-25 17:40:52.123), EXTRACT(FLAG(MINUTE), 2019-03-24 17:40:52.123)), 0),
<(+(CASE(AND(>(-(EXTRACT(FLAG(SECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(SECOND), 2019-03-24 17:40:52.123)), 0),
<(+(CASE(AND(>(-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123)), 0),
<(+(CASE(AND(>(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
<(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), -1,
AND(<(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
>(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), 1, 0),
-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123))), 0)), -1,
AND(<(-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123)), 0),
>(+(CASE(AND(>(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
<(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), -1,
AND(<(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
>(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), 1, 0),
-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123))), 0)), 1, 0),
-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123))), 0)), -1,
AND(<(-(EXTRACT(FLAG(SECOND), 2018-03-25 17:40:52.123), EXTRACT(FLAG(SECOND),
2019-03-24 17:40:52.123)), 0), >(+(CASE(AND(>(-(EXTRACT(FLAG(MILLISECOND),
2018-03-25 17:40:52.123), EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123)),
0), <(+(CASE(AND(>(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
<(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), -1,
AND(<(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
>(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), 1, 0),
-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123))), 0)), -1,
AND(<(-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123)), 0),
>(+(CASE(AND(>(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
<(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), -1,
AND(<(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
>(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), 1, 0),
-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123))), 0)), 1, 0),
-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123))), 0)), 1, 0),
-(EXTRACT(FLAG(SECOND), 2018-03-25 17:40:52.123), EXTRACT(FLAG(SECOND),
2019-03-24 17:40:52.123))), 0)), -1, AND(<(-(EXTRACT(FLAG(MINUTE), 2018-03-25
17:40:52.123), EXTRACT(FLAG(MINUTE), 2019-03-24 17:40:52.123)), 0),
>(+(CASE(AND(>(-(EXTRACT(FLAG(SECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(SECOND), 2019-03-24 17:40:52.123)), 0),
<(+(CASE(AND(>(-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123)), 0),
<(+(CASE(AND(>(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
<(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), -1,
AND(<(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
>(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), 1, 0),
-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123))), 0)), -1,
AND(<(-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123)), 0),
>(+(CASE(AND(>(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
<(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), -1,
AND(<(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
>(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), 1, 0),
-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123))), 0)), 1, 0),
-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123))), 0)), -1,
AND(<(-(EXTRACT(FLAG(SECOND), 2018-03-25 17:40:52.123), EXTRACT(FLAG(SECOND),
2019-03-24 17:40:52.123)), 0), >(+(CASE(AND(>(-(EXTRACT(FLAG(MILLISECOND),
2018-03-25 17:40:52.123), EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123)),
0), <(+(CASE(AND(>(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
<(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), -1,
AND(<(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
>(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), 1, 0),
-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123))), 0)), -1,
AND(<(-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123)), 0),
>(+(CASE(AND(>(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
<(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), -1,
AND(<(-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123)), 0),
>(-(EXTRACT(FLAG(NANOSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(NANOSECOND), 2019-03-24 17:40:52.123)), 0)), 1, 0),
-(EXTRACT(FLAG(MICROSECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MICROSECOND), 2019-03-24 17:40:52.123))), 0)), 1, 0),
-(EXTRACT(FLAG(MILLISECOND), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(MILLISECOND), 2019-03-24 17:40:52.123))), 0)), 1, 0),
-(EXTRACT(FLAG(SECOND), 2018-03-25 17:40:52.123), EXTRACT(FLAG(SECOND),
2019-03-24 17:40:52.123))), 0)), 1, 0), -(EXTRACT(FLAG(MINUTE), 2018-03-25
17:40:52.123), EXTRACT(FLAG(MINUTE), 2019-03-24 17:40:52.123))), 0)), 1, 0),
-(EXTRACT(FLAG(HOUR), 2018-03-25 17:40:52.123), EXTRACT(FLAG(HOUR), 2019-03-24
17:40:52.123))), 0)), 1, 0), -(EXTRACT(FLAG(DAY), 2018-03-25 17:40:52.123),
EXTRACT(FLAG(DAY), 2019-03-24 17:40:52.123))), 0)), 1, 0),
-(EXTRACT(FLAG(MONTH), 2018-03-25 17:40:52.123), EXTRACT(FLAG(MONTH),
2019-03-24 17:40:52.123))), 0)), 1, 0), -(EXTRACT(FLAG(YEAR), 2018-03-25
17:40:52.123), EXTRACT(FLAG(YEAR), 2019-03-24 17:40:52.123)))
{code}
> TimestampAdd/Diff (SQL_TSI_) functions
> --------------------------------------
>
> Key: DRILL-3610
> URL: https://issues.apache.org/jira/browse/DRILL-3610
> Project: Apache Drill
> Issue Type: Improvement
> Components: Functions - Drill
> Reporter: Andries Engelbrecht
> Assignee: Volodymyr Vysotskyi
> Priority: Major
> Labels: doc-impacting
> Fix For: 1.15.0
>
>
> Add TimestampAdd and TimestampDiff (SQL_TSI) functions for year, quarter,
> month, week, day, hour, minute, second.
> Examples
> SELECT CAST(TIMESTAMPADD(SQL_TSI_QUARTER,1,Date('2013-03-31'), SQL_DATE) AS
> `column_quarter`
> FROM `table_in`
> HAVING (COUNT(1) > 0)
> SELECT `table_in`.`datetime` AS `column1`,
> `table`.`Key` AS `column_Key`,
> TIMESTAMPDIFF(SQL_TSI_MINUTE,to_timestamp('2004-07-04',
> 'yyyy-MM-dd'),`table_in`.`datetime`) AS `sum_datediff_minute`
> FROM `calcs`
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)