DB2的locate和posstr 先說一下兩個函數的用法 locate(arg1,arg2,<pos>) 查找arg2中第一次出現arg1的位置,指定pos,則 從arg2的pos處開始找arg1第一次出現的位置。 www.2cto.com posstr(arg1,arg2)查看arg2在arg1中的位置 SELECT POSSTR('MYTEST-100',('TEST-'||A.COL_VC)) FROM T_TEST_ZRK A; //error SELECT POSSTR('MYTEST-100',('TEST-' )) FROM T_TEST_ZRK A;//success SELECT POSSTR('MYTEST-100',a.COL_VC) FROM T_TEST_ZRK A;//error SELECT POSSTR(A.COL_VC,'2') FROM T_TEST_ZRK A;//success select locate(('TEST-'||A.COL_VC),'MYTEST-100'),a.col_vc FROM T_TEST_ZRK A;//success select locate(('好-'||A.COL_VC),'你好-'||a.col_vc),a.col_vc FROM T_TEST_ZRK A;//success www.2cto.com 從上面幾個語句,很容易看出來。 posstr中arg2是只能是固定的str,不能使用字段代替,arg1就可以動態生成 locate中arg1和arg2都可以動態生成。