2011-02-03 65 views

回答

1

我不知道這個世界的非標準無SQLS做,但IEC/ISO/ANSI標準SQL從其接受日期開始具有此功能作爲標準。

它是TIMESTAMP DataType的一列(不管你是什麼名字,例如UpdatedDateTime)。當行被UPDATE或INSERTED時,它由服務器自動設置,並且不能用代碼繞過。

GETDATE()的缺省值(Sybase中沒有「CURRENT DATE」)是完全不同的動物。當且僅當INSERT未指定該列的值時,其默認爲識別的DEFAULT值即當前日期時間。其次,它不會更新UPDATE命令。

現在我非常想告訴你關於世界的非SQL的原因是,他們沒有使用TIMESTAMP的標準要求,這是Unix Epoch,他們使用了一些有趣的廢話,而且你不會得到在一個符合標準的SQL中,這個有趣的廢話,你會得到標準的處理。您可以使用TSEQUAL Function訪問它(正常方式)。要直接讀取TIMESTAMP列,請按照示例將其視爲BINARY。

0

我覺得這是你追求的

ALTER TABLE table_name 
MODIFY date_column DEFAULT CURRENT DATE 
+0

這樣做不是對整列而是隻對行進行操作嗎? – 2011-02-03 10:23:19

+0

我已經嘗試過這一點,並在sybase我不得不使用`ALTER TABLE table_name修改date_column默認getdate()`,但這隻得到設置插入,而不是更新 – 2011-02-03 16:34:57

相關問題