| AIX | HP-UX | Linux | OS/2 | OS/390 | OS/400 | SCO | SUN | Win NT |
| X | X | X | X | X | X | X | X | X |
可以列出列表变量来构建一个定界的值字符串。当要构建一个具有多个项目的 SQL 查询时 (象某些 WHERE 或 HAVING 语句一样),它们特别有用。
其中的空格是必须的。通常,值的两边都有一个空格。大部分查询使用布尔或 数学运算符(例如,AND、OR 或 >)。请参阅LIST 语句中的语法和其它信息。
例 1:条件、隐藏和列表变量的使用
%HTML(INPUT){
<FORM METHOD="POST" ACTION="/cgi-bin/db2www/example2.max/report">
Select one or more cities:<BR>
<INPUT TYPE="checkbox" NAME="conditions" VALUE="$$(cond1)">Sao Paulo<BR>
<INPUT TYPE="checkbox" NAME="conditions" VALUE="$$(cond2)">Seattle<BR>
<INPUT TYPE="checkbox" NAME="conditions" VALUE="$$(cond3)">Shanghai<BR>
<INPUT TYPE="submit" VALUE="Submit Query">
</FORM>
%}
%DEFINE{
DATABASE="custcity"
%LIST " OR " conditions
cond1="cond1='Sao Paolo'"
cond2="cond2='Seattle'"
cond3="cond3='Shanghai'"
whereClause= ? "WHERE $(conditions)" : ""
%}
%FUNCTION(DTW_SQL) mySelect(){
SELECT name, city FROM citylist
$(whereClause)
%}
%HTML(REPORT){
@mySelect()
%}
在 HTML 表中,如果没有选择任何框,则 conditions 为空,因此查询中 的 whereClause 也为空。否则,whereClause 具有选定 值,值之间用布尔运算符 OR 分隔。例如,如果选择了所有这三个城市,则 SQL 查询为:
SELECT name, city FROM citylist WHERE cond1='Sao Paolo' OR cond2='Seattle' OR cond3='Shanghai'
例 2:值分隔符
%DEFINE %LIST " | " VLIST
%REPORT{
%ROW{
<EM>$(ROW_NUM):</EM> $(VLIST)
%}
%}
表处理变量 VLIST 使用两个引号和一个 OR 栏 ( |) 作为本例中的 值分隔符。值的字符串之间用引号中的值来分隔。