【发布时间】:2011-05-02 09:37:52
【问题描述】:
也许是一个菜鸟问题,但请记住这个 T-SQL 查询:
UPDATE Table
SET column = CURRENT_TIMESTAMP
WHERE condition
这需要 1 分钟。该列是否具有相同的时间戳值或增量? (随着时间的推移)?
如果你想让所有行的时间戳都相等,除了定义变量还有其他选择吗?
【问题讨论】:
标签: tsql timestamp sql-update
也许是一个菜鸟问题,但请记住这个 T-SQL 查询:
UPDATE Table
SET column = CURRENT_TIMESTAMP
WHERE condition
这需要 1 分钟。该列是否具有相同的时间戳值或增量? (随着时间的推移)?
如果你想让所有行的时间戳都相等,除了定义变量还有其他选择吗?
【问题讨论】:
标签: tsql timestamp sql-update
无论查询需要多长时间,它在所有行中都将具有相同的值。该函数在每个语句而不是每行计算一次。
SQL Server 中几乎所有内置函数都是这种情况,我目前知道的唯一例外是 CRYPT_GEN_RANDOM 和 NEWID
【讨论】:
rand() 确实给出了相同的值。解决方法是使用新的crypt_gen_random 或ABS(CHECKSUM(NEWID()))