SUBSTR里面的Like语句

时间:2018-05-09 13:32:42

标签: sql db2

需要做这样的事情,但我得到一个CONCAT错误,任何想法如何在这样的SUBSTR内做?

感谢

   select (Select description from BD3 where description like CONCAT('%', SUBSTR(BD3.nomebalcao,locate(BD3.nomebalcao, 'AG. ')+4,5), '%')) as ToGroup
from BD1   
left join BD2 on BD2.group_id =BD1.group_id
left join BD3  on BD1.BPD_INSTANCE_ID = BD3.BPD_INSTANCE_ID
where BD2.GROUP_NAME= 'ADM_SIS'
and BD1.status in (select status_value from stat where name = 'Received')

1 个答案:

答案 0 :(得分:0)

DB2中的CONCAT 函数只能连接两个字符串(CONCAT(a,b),而不是CONCAT(a,b,c))。

改为使用CONCAT 运算符

'%' CONCAT SUBSTR(BD3.nomebalcao,locate(BD3.nomebalcao, 'AG. ') + 4, 5) CONCAT '%'

甚至更好的标准SQL并置运算符||

'%' || SUBSTR(BD3.nomebalcao,locate(BD3.nomebalcao, 'AG. ') + 4, 5) || '%'