看板 Database 關於我們 聯絡資訊
※ 引述《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