作者grence (多想两分钟 = =")
看板Database
标题Re: [SQL ] SQL SERVER 2005 新增修改时间的问题
时间Fri Jul 6 21:46:29 2007
※ 引述《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