SQL Server 2016 - 隐藏列不 Return 来自嵌套 Select

SQL Server 2016 - Hidden Column Doesn't Return from Nested Select

我希望有人能在这里帮助我。我不是 SQL 开发人员,所以我的知识非常有限。 我正在尝试 return 来自 scala 的嵌套 SQL 查询中的 ValidFrom 列,但它没有出现。我可以从非嵌套查询中 return 它,但它需要嵌套。最简单的格式如下所示:

select * from (select *, ValidFrom from [dbo].[Sale]) s

如能提供有关如何执行此操作的任何帮助,我们将不胜感激。 谢谢。

子查询中列的隐藏状态将传播到外部查询。你能修改外部查询吗?所以你可以尝试这样的事情:

SELECT *, ValidFrom FROM (SELECT *, ValidFrom FROM [dbo].[Sale]) s

如果不是,您可以对内部查询中的 ValidFrom 列进行一些转换,新列将不会具有隐藏状态,如下所示:

SELECT * FROM (SELECT *, CAST(ValidFrom AS DATETIME2(0)) AS ValidFrom FROM [dbo].[Sale]) s

尝试将其转换为您已用于该列的相同数据类型。它至少会在您的计划中引入一个额外的 Compute Scalar 运算符,因此请尝试并验证性能。