我是DB2的新手(使用版本10.1),我正在尝试在测试查询中执行一个简单的ltrim
函数。
select ltrim(',1,2,3,4', ',') from sysibm.sysdummy1;
这会导致以下错误:
DB2 SQL Error: SQLCODE=-440, SQLSTATE=42884, SQLERRMC=LTRIM;FUNCTION, DRIVER=3.65.77
根据文档here,我的示例似乎应该有效。请注意,我可以使用替代trim
函数或 1-arg版本的ltrim
:
select trim(l ',' from ',1,2,3,4') from sysibm.sysdummy1;
select ltrim(' test') from sysibm.sysdummy1;
这些工作正常!
ltrim
的2-arg形式与我提供的其他示例之间是否存在一些根本区别?
答案 0 :(得分:1)
在这里做一些猜测,但你确定你在10.1
吗?您尝试使用的该功能版本似乎已添加到10中,因此如果您使用的是9.x
,则无法使用。
如果您是,您可以检查并查看您的架构路径是否包含SYSIBM
:
SELECT CURRENT_PATH FROM SYSIBM.SYSDUMMY1
该函数的“旧”单参数版本位于SYSFUN
,(如果您的路径不包含SYSIBM
)可能是您仍然可以使用该版本的原因。
如果您的路径中没有SYSIBM
,您可以尝试使用以下命令进行更改:
SET PATH = SYSIBM, CURRENT_PATH
答案 1 :(得分:1)
此功能为added in DB2 10.1 fix pack 2 - 您可能需要升级。
答案 2 :(得分:0)