1.SELECT...WHERE ... IN ...,它后面跟着的是一个RANGE类型的内表
,这种内表是通过RANGES或者SELECT-OPTIONS来定义的。
2.内表中包含四个字段:SIGN,OPTION,LOW以及HIGH。
3.SIGN的值范围为:I-包含,E-排除;
4.OPTION的值范围为:EQ-等于,BT-介于,GT-大于,LT-小于,GE-大于或等于,LE-小于或等于,NE-不等于;LOW-表示低值,HIGH-表示高值,一般在OPTION为BT时HIGH才会有值。
用IN的时候,内表里面有多条,多条之间是用OR连接的,而用=的时候,只能用单值去做条件。
举个例子,如果S_STLBEZ里面的值为I EQ A和I BT B D;P_WERKS的值为1000那么转换出来的SQL则为:
WHERE ( STLBEZ EQ 'A' OR STLBEZ BETWEEN 'B' AND 'D' ) AND WERKS = '1000'
5.如果选择屏幕输入多值,那么OPTION会变成"BT".