2013-08-27 57 views
0

我是DB2新手(使用10.1版本),我試圖在測試查詢中執行一個簡單的ltrim函數。DB2 - 如何使用2個參數的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功能ltrim 1-ARG版本:

select trim(l ',' from ',1,2,3,4') from sysibm.sysdummy1; 
select ltrim(' test') from sysibm.sysdummy1; 

而那些工作正常!

2-arg形式的ltrim和我提供的其他示例之間是否存在一些基本差異?

回答

0

爲什麼不試試STRIP()代替:

VALUES STRIP(',1,2,3,4', L, ','); 

(邊注:這是簡單的使用VALUES語句,而不是選擇SYSIBM.SYSDUMMY1)

1

這裏製作一些猜測,但你確定你在10.1?您嘗試使用的那個版本的功能似乎已在10年中添加,因此如果您使用的是9.x,則無法正常工作。

如果你是,你可能會檢查,看看你的架構路徑包括SYSIBM

SELECT CURRENT_PATH FROM SYSIBM.SYSDUMMY1 

功能的「老」的一個版本的說法是SYSFUN,如果你的路徑沒有哪個(包括SYSIBM)可能是您仍然可以使用該版本的原因。

如果SYSIBM是不是在你的路徑,你可以嘗試改變它使用:

SET PATH = SYSIBM, CURRENT_PATH 
+0

+1有關PATH的想法,但它似乎是正確的:SYSIBM SYSFUN SYSPROC SYSIBMADM DB2INSTF – david

相關問題