anchor.diff:      : (columnName | number | expr) (ASC | DESC)?
       ;
   
  -levelClause
  -    : LEVEL (levelInWeightListElements | (NUMBER_ MINUS_ NUMBER_))
  -    ;
  -
  -levelInWeightListElements
  -    : levelInWeightListElement (COMMA_ levelInWeightListElement)*
  -    ;
  -
  -levelInWeightListElement
  -    : NUMBER_ (ASC | DESC)? REVERSE?
  -    ;
  -
   dataType
       : dataTypeName_ dataTypeLength? characterSet_? collateClause_? UNSIGNED? ZEROFILL? | dataTypeName_ LP_ STRING_ (COMMA_ STRING_)* RP_ characterSet_? collateClause_?
       ;
  
positive.code:     | literal
      | columnName
      | simpleExpr COLLATE (STRING_ | identifier_)
      | variable
      | simpleExpr OR_ simpleExpr
      | (PLUS_ | MINUS_ | TILDE_ | NOT_ | BINARY) simpleExpr
      | ROW? LP_ expr (COMMA_ expr)* RP_
  
negative.code:     | characterSet_? BIT_NUM_ collateClause_?
      ;
  
  subquery
      : 'Default does not match anything'
      ;
  