【发布时间】:2018-12-14 22:43:16
【问题描述】:
这些数据存在于我的 ADMINTXNUNAUTHDATA 表中的 blob COLUMN ("MSG") 中
<PayBillerRequestDTO><idCustomer>00000024</idCustomer><idBiller>VODA</idBiller><billerName>ojas yadnik </billerName><billReferenceNumber>111</billReferenceNumber></PayBillerRequestDTO>
我想在<billReferenceNumber>111</billReferenceNumber>之间显示“111”
以及来自单个查询中不同表的其他一些值
select mbl.idbiller as BILLNUMBER,
mbl.billernickname AS BILLERNICKNAME,
mts.idchanneluser AS USERNAME,
adm.NUMAMOUNT AS AMOUNT,
adm.ACCOUNTNO AS ACCOUNTNUM,
adm.DATINITIATION AS TRANSACTIONDATE,
adm.codcurr as CURRENCY
from mstbiller mbl, ADMINTXNUNAUTHDATA adm, mstchanneluser mts
where MTS.IDCHANNELUSER = '??'
and adm.idinitiator = mts.iduser
and adm.txnid = 'BPA'
and mbl.idbiller ='?'
AND dbms_lob.instr(MSG, utl_raw.CAST_TO_RAW('<idBiller>?</idBiller>'), 1, 1) > 0;
【问题讨论】:
-
请帮助我们编辑您的问题,使其更易于理解。连接表和所有其他列与您的问题无关。但是对于带有
msg的表,我们希望看到创建语句或至少是列的数据类型。请同时编辑标签。这对我来说看起来像 Oracle 语法,还是 mysql 也有一个 utl_raw 包? -
您使用的是 MySQL 还是 Oracle?
-
今日提示:切换到现代、明确的
JOIN语法。更容易编写(没有错误),更容易阅读(和维护),并且在需要时更容易转换为外连接。 -
您确定数据类型是
BLOB而不是CLOB? XML 是字符数据... -
您可能会在该问题上找到答案:stackoverflow.com/questions/51195105/…