这个问题可以通过将 LOB 类型的表达式放在子查询中解决。具体的做法是,在主查询中使用 ORDER BY 子句来排序,然后在子查询中使用 LOB 类型的表达式。以下是一个示例查询:

SELECT * FROM ( SELECT col1, col2, col3, CAST(col4 AS NVARCHAR(MAX)) AS col4_nvarchar FROM table ) AS subquery ORDER BY col4_nvarchar DESC

在这个查询中,col4 是一个 LOB 类型的列。在子查询中,我们使用 CAST 函数将其转换为 NVARCHAR(MAX) 类型的列,然后将其命名为 col4_nvarchar。在主查询中,我们使用 ORDER BY 子句按照 col4_nvarchar 列进行排序。这样就可以避免在 RANGE 窗口框架的 ORDER BY 列表中使用 LOB 类型的表达式的问题。

SQL server RANGE 窗口框架的 ORDER BY 列表不能包含 LOB 类型的表达式 如何解决

原文地址: https://www.cveoy.top/t/topic/bALp 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录