当尝试在sql中将记录转换为xml时,我收到以下错误消息:
Msg 6841,Level 16,State 1,Procedure trg_missacct_upd_del,Line 58
FOR XML无法序列化节点'AltAddr'的数据,因为它包含XML中不允许的字符(0x0002)。要检索 这些数据使用FOR XML,将其转换为二进制,varbinary或图像数据 输入并使用BINARY BASE64指令。
我想编写一个查询来查找哪个记录具有此十六进制值(0x0002)。我尝试过这样的事情:
select * from missacct where altaddr like '%' + 0x0002 + '%'
有没有办法查询这条记录?
答案 0 :(得分:3)
SELECT * FROM missacct WHERE altaddr LIKE '%' + CHAR(0x0002) + '%'
或者你可以做到
SELECT * FROM missacct WHERE CHARINDEX( CHAR(0x0002), altaddr ) >0