posts - 18,  comments - 0,  trackbacks - 0

在WHERE条件表达式中存在IN/NOT IN的逻辑符号,其格式为:expression IN/NOT IN exp_set,其中exp_set为子查询或者多个常量。语法文件为:
equation
   :expression (("not in"^|"in"^|"在于"^|"不在于"^)  exp_set);
exp_set
 :  LPAREN constexpset RPAREN
 {#exp_set = #([SUBCONTAIN_OP, "subcontain_op"], #exp_set);}
 ;
constexpset
 : constant (COMMA^ constant)*
 ;
1、当碰到IN/NOT IN时,IN/NOT IN为根节点,expression、exp_set为叶子节点。
2、exp_set必须要有左括号、右扣号,整个exp_set虚构为一个subcontain_op的根节点,LPAREN  constexpset  RPAREN分别为它的叶子节点。
3、constexpset为多个常量组成,格式为12, 15, 30。当存在超过两个节点时,1215为一级叶子节点,第一个,为它们的根节点,30和第一个,组成第二个,的叶子节点,如此迭加。
AI_94传票对照表.金额 不在于(12, 34, 45, 50) 生成的抽象语法树如下:


posted on 2007-04-06 20:23 LORD BLOG 阅读(522) 评论(0)  编辑  收藏 所属分类: 工作日志

只有注册用户登录后才能发表评论。


网站导航: