执行sql语句时出现DB2错误:[SQL0104]标记)无效

at0kjp5o  于 2022-11-07  发布在  DB2
关注(0)|答案(1)|浏览(655)

使用自定义驱动程序时,我从DB2收到以下错误:com.ibm.as400.access.AS400JDBCDriver
执行sql语句时出错:[SQL 0104]标记)无效。有效标记:,从到;原因:[SQL 0104]标记)无效。有效标记:,从进。
把它缩小到在SQL Server中工作的这一点,我们有点难住了,因为语法看起来很好。

SELECT CASE
          WHEN Abs(ho.ohmisc) > 0 
          THEN
               (
                  SELECT LEFT(s, Translate('%[^0-9]%', s) - 1)
                  FROM (
                     SELECT Substr(
                         ohunpo, 
                         Translate('%[0-9]%', ohunpo), 
                         Len(ohunpo)
                     ) AS s 
                  ) t 
               )
          ELSE odrord
       END ODRORD
FROM   qs36f.hoehead HO
QS36F.hoehead  HO
zysjyyx4

zysjyyx41#

您缺少FROM

SELECT CASE
          WHEN Abs(ho.ohmisc) > 0 
          THEN
               (
                  SELECT LEFT(s, Translate('%[^0-9]%', s) - 1)
                  FROM (
                     SELECT Substr(ohunpo, 
                                   Translate('%[0-9]%', ohunpo), 
                                   Len(ohunpo)
                                   ) AS s 
                        --**You need a FROM here**
                        ) t 
               )
          ELSE odrord
       END ODRORD
FROM   qs36f.hoehead HO
QS36F.hoehead  HO

但这不是你唯一的问题...
这也是无效的,您是否尝试将数据表链接至其本身?

FROM   qs36f.hoehead HO
QS36F.hoehead  HO

您的嵌入式选择可能也不正确......但是如果不知道您的表结构、查看一些示例源数据以及您希望输出什么,我就不能肯定。

相关问题