[ 
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)

Reply via email to