as400中文培训教程之db(5)

as400中文培训教程之db(5)

ID:10699069

大小:253.00 KB

页数:21页

时间:2018-07-07

as400中文培训教程之db(5)_第1页
as400中文培训教程之db(5)_第2页
as400中文培训教程之db(5)_第3页
as400中文培训教程之db(5)_第4页
as400中文培训教程之db(5)_第5页
资源描述:

《as400中文培训教程之db(5)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、作业缺省的日期格式和分隔符都要一致。如果使用常数,QRYSLT应如下:QRYSLT('"12/31/87"*EQDATE')作业的缺省的格式必须是MMDDYY,并以‘/’分隔。如果想用已在库中数字字段与变量做比较,仅可使用字符变量。例如,想选择所有压缩日期字段大于某个变量的所有记录,就必须保证变量是字符格式,即通常在用OPNQRYR命令前,要用CHGVAR命令把变量从十进数字字段变为字符字段,CHGVAR命令如下:CHGVARVAR(&CHARVAR)VALUE('123188')QRYSLY参数规定如下:QRYSLT(

2、&CHARVAR*CAT'*GTDATE')如果用常数,QRYSLT规定如下:QRYSLT('123187*GTDATE')例3:用一定范围的值选择记录假定日期字段的格式为YYMMDD并以”.”为分隔符,要处理所有1988年的记录,应如下定义:OVRDBFFILE(FILEA)SHARE(*YES)OPNQRYFFILE(FILEA)QRYSLT('DATE*EQ%RANGE("88.01.01"+"88.12.31")')CALLPGM(PGMC)CLOFOPNID(FILEA)DLTOVRFILE(FILEA)这个例

3、子在DATE字段为日期格式,作业缺省值为YYMMDD,分隔符为’.’时也可运行。如果范围定义为字符变量,DATE是字符类型,QRYSLT规定如下:QRYSLT('DATE*EQ%RANGE("'*CAT&LORNG*CAT'"'*BCAT'"'+*CAT&HIRNG*CAT'")')但如果DATE定义为数字字段,QRYSLT规定:QRYSLT('DATE*EQ%RANGE('*CAT&LORNG*BCAT&HIRNG*CAT')')注:如果QRYSLT参数用在CL程序中,也可用*BCAT,但它不能用在交互命令行。例4:用

4、包含功能选择记录假定要处理所有Addr字段中有BROADWAY街名的所有记录,包含功能(*CT)确定字符串是否在字段中出现。语句如下:OVRDBFFILE(FILEA)SHARE(*YES)OPNQRYFFILE(FILEA)QRYSLT('ADDR*CT"BROADWAY"')CALLPGM(PGMC)CLOFOPNID(FILEA)DLTOVRFILE(FILEA)在这个例子中,数据是用大写,如果数据是小写或混合大小写,在比较前要有把它们变为大写的转换操作,系统提供的表QSYSTRNTBL可以把字母a到z变为大写(也

5、可用其它表来完成转换),规定如下:OVRDBFFILE(FILEA)SHARE(*YES)OPNQRYFFILE(FILEA)QRYSLT('%XLATE(ADDRQSYSTRNTBL)*CT+"BROADWAY"')CALLPGM(PGMC)CLOFOPNID(FILEA)DLTOVRFILE(FILEA)在QRYSLT句中用%XLATE功能时,传到高级语言程序的字段值与数据库中一样,可以用MAPFLD参数中的%XLATE功能强制字段变大写。例5:用多个字段选择记录假如要处理那些Amt字段为零的,或是Lstdat字段(

6、YYMMDD格式的字符型)小于等于88-12-31的所有记录,可以规定:OVRDBFFILE(FILEA)SHARE(*YES)OPNQRYFFILE(FILEA)QRYSLT('AMT*EQ0*ORLSTDAT+*LE"88-12-31"')CALLPGM(PGMC)CLOFOPNID(FILEA)DLTOVRFILE(FILEA)本例在LSTDAT字段为日期型时一样可用,LSTDAT可以为各种合法日期格式,但作业缺省应为YYMMDD,分隔符为‘-’。如果使用变量QRYSLT规定如下:QRYSLT('AMT*EQ'*C

7、AT&VARAMT*CAT'*OR+LSTDAT*LE"'*CAT&VARDAT*CAT'"')或用相反顺序:QRYSLT('"'*CAT&VARDAT*CAT'"*GTLSTDAT*OR'+*CAT&VARAMT*CAT'*EQAMT')注:VARAMT必须为字符类型,如果数字变量型传到CL程序中,必须把它转换成字符型,可用CHGVAR来做这个转换。例6:在一个程序多次使用OPNQRYF命令可以高级语言程序中多次使用OPNQRYF命令。例如,要向用户提示选择项,并显示几页记录,在完成第一个请求后,用户可能要做其它选择值

8、并显示记录,可以这样做:1.在调用程序前,用OVRDBF命令指定SHARE(*YES)2.在高级程序中提示用户选择某个值。3.把选择的值传给运行OPNQRYF的CL程序(或调用程序QCMDEXC运行这条命令)处理OPNQRYF前,文件必须关闭,可以用CLOF命令关闭,并监控文件是否关闭。4.返回到高级语言程序。5.在

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。