微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在 FOR EACH 查询中检查同一元素的多个子字符串?

如何解决如何在 FOR EACH 查询中检查同一元素的多个子字符串?

我正在尝试读取字符串的一部分,但编译器仅读取第一个子字符串。我的代码如下:

FOR EACH estrutura NO-LOCK,EACH item
WHERE estrutura.it-codigo = item.it-codigo
AND IF pc-ge <> 0           THEN item.ge-codigo = pc-ge ELSE item.ge-codigo > 0
AND IF pc-familia <> ""     THEN SUBSTRING(estrutura.it-codigo,1,2,"CHaraCTER") = pc-familia ELSE SUBSTRING(estrutura.it-codigo,"CHaraCTER") BEGINS pc-familia
AND IF pc-norma <> ""       THEN SUBSTRING(estrutura.it-codigo,3,"CHaraCTER") = pc-norma ELSE SUBSTRING(estrutura.it-codigo,"CHaraCTER") BEGINS pc-norma
AND IF pc-classe <> ""      THEN SUBSTRING(estrutura.it-codigo,4,"CHaraCTER") = pc-classe ELSE SUBSTRING(estrutura.it-codigo,"CHaraCTER") BEGINS pc-classe
AND IF pc-bitola <> ""      THEN SUBSTRING(estrutura.it-codigo,6,"CHaraCTER") = pc-bitola ELSE SUBSTRING(estrutura.it-codigo,"CHaraCTER") BEGINS pc-bitola
AND IF pc-comprim <> ""     THEN SUBSTRING(estrutura.it-codigo,8,"CHaraCTER") = pc-comprim ELSE SUBSTRING(estrutura.it-codigo,"CHaraCTER") BEGINS pc-comprim
AND IF pc-rosca <> ""       THEN SUBSTRING(estrutura.it-codigo,11,"CHaraCTER") = pc-rosca ELSE SUBSTRING(estrutura.it-codigo,"CHaraCTER") BEGINS pc-rosca
AND IF pc-acab <> ""        THEN SUBSTRING(estrutura.it-codigo,13,"CHaraCTER") = pc-acab ELSE SUBSTRING(estrutura.it-codigo,"CHaraCTER") BEGINS pc-acab
AND IF pc-seq <> ""         THEN SUBSTRING(estrutura.it-codigo,15,"CHaraCTER") = pc-seq ELSE SUBSTRING(estrutura.it-codigo,"CHaraCTER") BEGINS pc-seq NO-LOCK
BY estrutura.it-codigo:

    CREATE tt-estrutura.
    ASSIGN tt-estrutura.nivel-00 = estrutura.it-codigo
    .


END.

表格和变量是之前创建的。感谢您的阅读,如果我没有说清楚,请见谅。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。