gpt4 book ai didi

sql-server-2005 - 在选择列表中选择 GETDATE() 函数两次 - 两次的值相同?

转载 作者:行者123 更新时间:2023-12-03 01:09:40 24 4
gpt4 key购买 nike

我有一个 SELECT 语句,它使用 GETDATE() 来表示两个不同的列值。我想知道从本质上讲,同一 SELECT 中的两个单独的函数调用是否每次都会返回相同的值?

最佳答案

不,他们不能保证每次都返回相同的值。对 GetDate() 的每个单独引用都是一个运行时常量,并将在整个查询过程中保留其值...

SELECT GETDATE()
FROM large_table

无论查询运行多长时间,所有行都会返回相同的值。

但不能保证不同的引用具有相同的值。

您可以看到如下内容

SET NOCOUNT ON;

DECLARE @T TABLE
(
rownum INT IDENTITY(1,1) PRIMARY KEY,
d1 DATETIME,
d2 DATETIME
)

WHILE (5 > (SELECT COUNT(*) FROM @T WHERE d1 <> d2))
BEGIN
DELETE FROM @T WHERE d1 = d2
INSERT INTO @T
SELECT GETDATE(),GETDATE()
END

SELECT * FROM @T

示例结果

rownum      d1                      d2
----------- ----------------------- -----------------------
22381 2011-05-18 12:24:14.433 2011-05-18 12:24:14.437
30912 2011-05-18 12:24:15.420 2011-05-18 12:24:15.423
43234 2011-05-18 12:24:16.717 2011-05-18 12:24:16.720
113360 2011-05-18 12:24:24.210 2011-05-18 12:24:24.213
147855 2011-05-18 12:24:27.817 2011-05-18 12:24:27.820

关于sql-server-2005 - 在选择列表中选择 GETDATE() 函数两次 - 两次的值相同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4056355/

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