需要做这样的事情,但我得到一个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')
答案 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) || '%'