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都可以动态生成。
                                  

猜你喜欢

转载自killer-jok.iteye.com/blog/1567948
db2