DB2的locate和posstr

先说一下两个函数的用法 
locate(arg1,arg2,<pos>) 
   查找arg2中第一次出现arg1的位置,指定pos,则从arg2的pos处开始找arg1第一次出现的位置。 
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 
从上面几个语句,很容易看出来。 
posstr中arg2是只能是固定的str,不能使用字段代替,arg1就可以动态生成 
locate中arg1和arg2都可以动态生成。 

猜你喜欢

转载自dwcmayday201204063551.iteye.com/blog/1753001
db2