TSQL文本LOB列查询在单独执行时工作,在包含在CTE中时失败
我有以下查询来提取LOB字段(HL_DELETED_RECORD,包含不超过25个字符)内容,它本身工作正常:TSQL文本LOB列查询在单独执行时工作,在包含在CTE中时失败,tsql,text,lob,Tsql,Text,Lob,我有以下查询来提取LOB字段(HL_DELETED_RECORD,包含不超过25个字符)内容,它本身工作正常: SELECT REPLACE(REPLACE( CONVERT(VARCHAR(20), HL_DELETED_RECORD), '&', '&'), 'ý', ' ') AS FAC_CHANGES, HL_REC_ID FROM SEC_HIST WITH(NOLOCK) 当我将此查询作为CTE的一部分时,没有错误;LOB文本数据根本不显示为: W
SELECT REPLACE(REPLACE( CONVERT(VARCHAR(20), HL_DELETED_RECORD), '&', '&'), 'ý', ' ') AS FAC_CHANGES,
HL_REC_ID
FROM SEC_HIST WITH(NOLOCK)
当我将此查询作为CTE的一部分时,没有错误;LOB文本数据根本不显示为:
WITH sec_audit AS
(
SELECT *...
),
hist_logs as
(
SELECT REPLACE(REPLACE( CONVERT(VARCHAR(20), HL_DELETED_RECORD), '&', '&'), 'ý', ' ') AS FAC_CHANGES,
HL_REC_ID
FROM SEC_HIST WITH(NOLOCK)
)
SELECT *
FROM sec_audit
INNER JOIN hist_logs WITH(NOLOCK) ON HL_REC_ID = HL_RECORD_ID
LOB列定义为:[HL\u DELETED\u RECORD]文本空值
这是一个HLýU删除ýU记录数据样本:36371ý1025074ýLEC
换算如下:36371 1025074 LEC
还有其他人经历过吗?谢谢 没有足够的信息。。。试着建立一个新的网络。创建一个表(DDL)并插入一些用于测试的记录,并尝试重现您的问题。这是我们可以复制和粘贴到我们的机器,并帮助您确定。一些一般性意见:我建议始终使用表别名。您上次选择的内容类似于
。。。从sec_audit sa内部连接历史记录hl ON sa.hl_RECORD_ID=hl.hl_REC_ID
。还有一个问题/提示:什么数据类型是hl_DELETED_RECORDS
?用&
替换&
的需要指向一些类似XML的标记。但在这种情况下,实体是错误的(应该是&;
)。你说的不超过15个字符。。。难以置信…谢谢你的评论;让我尝试创建一个更全面的示例,并包含有关数据类型的其他信息。