anchor.diff:  CURRENT_TIME: 'CURRENT_TIME';
   CURRENT_TIMESTAMP: 'CURRENT_TIMESTAMP';
   EXTRACT: 'EXTRACT';
  -TIMEZONE_HOUR: 'TIMEZONE_HOUR';
  -TIMEZONE_MINUTE: 'TIMEZONE_MINUTE';
   COALESCE: 'COALESCE';
   NULLIF: 'NULLIF';
   CASE: 'CASE';
  
positive.code:     | DOUBLE
      | BOOLEAN
      ;
  
  extractFieldOrIdent
      : ident
      | extractField
      ;
  
  extractField
      : YEAR | MONTH | DAY | HOUR | MINUTE | SECOND | TIMEZONE_HOUR | TIMEZONE_MINUTE
      ;
  
  
  caseExpression
      : NULLIF '(' expr ',' expr ')'          -> ^(NULLIF expr expr)
  
negative.code:     : SHOW | TABLES | COLUMNS | PARTITIONS | FUNCTIONS
      | OVER | PARTITION | RANGE | ROWS | PRECEDING | FOLLOWING | CURRENT | ROW
      | REFRESH | MATERIALIZED | VIEW | ALIAS
      | YEAR | MONTH | DAY | HOUR | MINUTE | SECOND
      ;
  
  SELECT: 'SELECT';
  