我有以下查询可提取某些列数据,并提取列中2 xml标记之间的所有内容。TSQL在where子句中提取列数据
Use Database
DECLARE @First VARCHAR(15), @Second VARCHAR(15)
SET @First = '<InstrumentID>'
SET @Second = '</InstrumentID>'
SELECT out_interface_id, msg_id ,
SUBSTRING(xml_msg, CHARINDEX(@First, xml_msg) + LEN(@First),
CHARINDEX(@Second, xml_msg) -
CHARINDEX(@First, xml_msg) -
LEN(@First)) as InstrumentID,
msg_type, xml_msg, CAST(xml_msg AS XML) as [Quick_XML],
date_received,status, last_modified, environment,
transaction_closed_date
from Table1 with (nolock)
where msg_type in ('BALMIS','ACCTV21')
and date_received >= CAST(GETDATE() -1 as DATE)
and date_received < CAST(GETDATE() as DATE)
order by date_received desc
现在,我希望能够添加到WHERE子句:和InstrumentID =“ABC123”
这应该是简单的,但我无法弄清楚。