tsql - TSQL 文本 LOB 列查询单独执行时有效,包含在 CTE 中时失败
问题描述
我有以下查询来提取 LOB 字段(包含不超过 25 个字符的 HL_DELETED_RECORD)内容,它本身可以正常工作:
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_DELETED_RECORD] text NULL
这是一个 HL_DELETED_RECORD 数据样本: 36371ý1025074ýLEC 转换如下: 36371 1025074 LEC
还有人经历过这个吗?谢谢!
解决方案
推荐阅读
- spring-mvc - 非常简单的带有百里香叶的 Spring MVC 示例不起作用
- graph-theory - 强制边缘方向 GraphViz
- node.js - 在移动设备上使用 Google Cloud Speech 永远不会返回 isFinal
- javascript - TypeScript:基于对象创建界面
- python-3.x - 替换方法和 for 循环
- javascript - fetch() 完成后如何调用函数
- sql - 尝试提取 2 个字符“|”之间的数字 微软 SQL
- arrays - xcode 7 图像数组分配
- azure-web-app-service - 使用 AlwaysOn 的 10.0.128.25 地址作为 Azure 应用服务中的 IP 限制?
- javascript - 即使分片文件为真,测试也会在量角器中按顺序运行