2011-05-02 52 views
1

也許一個noob問題,但採取這種T-SQL查詢記:T-SQL更新行與CURRENT_TIMESTAMP

UPDATE Table 
SET column = CURRENT_TIMESTAMP 
WHERE condition 

,它需要1分鐘。該列是否具有相同的時間戳值或增量? (隨着時間的推移)?

如果你想在所有行中都有相同的時間戳,除了定義的變量是否還有其他選項?

回答

2

無論查詢需要多長時間,它在所有行中都具有相同的值。該函數在每個語句中不是每行一次評估一次。

這是幾乎所有的內置函數在SQL Server的情況下,唯一的例外,我目前知道的是CRYPT_GEN_RANDOMNEWID

+0

不管怎麼說..這顯然會「打擾」我,如果NEWID已經產生相同的GUID ;)(或隨機相同的值) – 2011-05-02 09:59:58

+1

@ PaN1C_Showt1Me - 'rand()'確實給出相同的值。解決方法是使用新的'crypt_gen_random'或'ABS(CHECKSUM(NEWID()))' – 2011-05-02 10:02:05