※ 引述《taikobo (有比扯鈴扯嗎?)》之銘言:
: 最近從MySQL轉向SQL SERVER,發現這二個系統在SQL語法上有些微的不同
: 在建立資料表時,以往MySQL可以下ON UPDATE CURRENT_TIMESTAMP的參數
: 只要我建立欄位,型態為TIMESTAMP
: 以後遇到UPDATE的指令,這個欄位就會自動去抓伺服器現在的時間
: 不過在SQL SERVER裡雖然也有資料型態TIMESTAMP
: 卻沒有ON UPDATE CURRENT_TIMESTAMP的參數...
: 請問是不是有類似功能的參數可以下在建立資料表的時候呢?
: 或是只能在每次UPDATE時在SQL指令下 SET 欄位名稱 = GETDATE() 去手動更新呢?
: 謝謝^^
記得M$ SQL也有個時間型態資料完全不需要手動更新,
每次新增、更新的時候系統會自動處理;想手動處理還不給改....
記憶總是不可靠,問孤狗找到這個:
http://technet.microsoft.com/zh-tw/library/ms182776.aspx
隨性摘要..:
「每個資料庫都有一個計數器,會針對在資料庫內包含 timestamp資料行的資料表所執行
的每個插入或更新作業而累加。這個計數器是資料庫時間戳記。這會追蹤資料庫內的相對
時間,而不是可關聯於時鐘的實際時間。資料表只能有一個 timestamp資料行。每次修改
或插入含 timestamp資料行的資料列時,都會在 timestamp資料行中插入累加的資料庫時
間戳記。」
「不是可關聯於時鐘的實際時間」→顯示的時候八成需要 DateAdd()函數.
累加的基準好像是 1970/01/01 00:00:00....嗯,查的到就不用記XD
DATETIME格式大概還需要 CONVERT()來轉換時間格式
遇到問題就問孤狗吧,雖然最後常常找到MSDN去,
但GOOGLE才能幫我找到我需要的資料。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.229.210.150