sqlrpgle中4个引号的用法

发表于:2007-06-08来源:作者:点击数: 标签:
通过游标fetch出cardstr [code:1:03876693e6]/free cardstr='selectcdnofromdtalib/kwjwhere+ substrcdno,9,1='; cardstr=%trimrcardstr+''''+v@type+''''; cardstr=%trimrcardstr+'and'; cardstr=%trimrcardstr+'substrcdno,'; cardstr=%trimrcardstr+%trim

通过游标fetch出cardstr
[code:1:03876693e6] /free                                                              
   cardstr = 'select cdno from dtalib/kwj where +           
              substr(cdno,9,1) = ';                               
   cardstr = %trimr(cardstr) + '''' + v@type + '''';                
   cardstr = %trimr(cardstr) + ' and ';                             
   cardstr = %trimr(cardstr) + ' substr(cdno,';                   
   cardstr = %trimr(cardstr) + %trim(v@posi);                       
   cardstr = %trimr(cardstr) + ',' + %char(%len(%trim(v@luck)));    
   cardstr = %trimr(cardstr) + ') = ' + '''' + %trim(v@luck) + '''';
 /end-free                                                       [/code:1:03876693e6]   

功能介绍
实现模糊查找吉祥卡号功能,例如找出卡号中从11位开始,吉祥号码为8888的卡。
v@type是卡类型,卡号的第9位可以判断。
v@posi是吉祥号码的起始位置,例如11位。
v@luck是吉祥号码,例如8888。

变量定义 
[code:1:03876693e6]DV@LUCK           S              8A   INZ(*blanks)
DV@TYPE           S              1A               
DV@POSI           S              2a   INZ(*blanks)
DCARDSTR          S        1024a   inz(*blanks)[/code:1:03876693e6]

如果是千万数量级的记录,sqlrpgle的模糊查询会很慢,这样如果做成C/S的交易就不适合了。当然,使用rpgle会更慢。俺在640上就是这样。

 pl421 回复于:2005-03-25 17:19:41
不支持自由格式.....

 亿城雪 回复于:2005-03-25 17:25:24
这是标准的赋值语句,完全可以改成标准格式的,我这样也就是为了好看。

 60133056 回复于:2005-03-26 00:03:03
关注  学习

 fpoise 回复于:2005-03-26 11:55:44
學習

 亿城雪 回复于:2005-03-26 13:33:54
like的写法好像与这不同,以前有人贴过,俺就不贴了。

 pl421 回复于:2005-03-27 20:16:06
是版本问题嘛,我的怎么不支持自由格式哩.

 亿城雪 回复于:2005-03-28 01:21:57
好像5.1就支持,俺就是5.1的。
个人认为/free就是为了好看,也可以完全不使用/free。

 nhxingliang 回复于:2005-03-28 16:58:15
good

原文转自:http://www.ltesting.net