gpt4 book ai didi

sql - 使用 GetDate() 作为 SELECT DISTINCT 的一部分不是很好吗?

转载 作者:行者123 更新时间:2023-12-02 20:37:44 25 4
gpt4 key购买 nike

我正在检查一些 SQL,如下所示:

SELECT DISTINCT MyField, GETDATE()
FROM MyTable

现在,即使查询花费的时间超过 1 毫秒,我也收到了预期的记录数。每个记录的 DateTime 都低至相同的毫秒,并且实际上产生与记录相同的数字,如下所示:

SELECT DISTINCT MyField
FROM MyTable

任何人都可以向我指出任何文档或提供一些其他见解来说明使此行为在 SQL Server 中的“规则”是什么吗?

最佳答案

GETDATE()RAND() 是运行时常量函数的规范示例。这意味着该函数在命令启动时调用一次,而不是每行调用一次。

documentation 中提到了这一点:

Aside from runtime constant nondeterministic built-ins RAND, and the GETDATE family, the number, order, and timing of calls will depend on the plan chosen.

(据我所知,文档并没有详细讨论这一点。)

因此,GETDATE() 是查询的常量,不会针对每一行进行计算。

关于sql - 使用 GetDate() 作为 SELECT DISTINCT 的一部分不是很好吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46700174/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com