快速业务通道

在MySQL中操作日期和时间

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-03-18
--+

|   11 | Tom  |      76 |      93 |      67 | 20010220130517 |

+------+------+---------+---------+---------+----------------+

通过明确地设置希望的值,你可以设置任何TIMESTAMP列为不同于当前日期和时间的值,即使对第一个TIMESTAMP列也是这样。例如,如果,当你创建一个行时,你想要一个TIMESTAMP被设置到当前的日期和时间,但在以后无论何时行被更新时都不改变,你可以使用这样使用:

让MySQL在行被创建时设置列,这将初始化它为当前的日期和时间。

当你执行随后的对该行中其他列的更改时,明确设定TIMESTAMP列为它的当前值。

例如,当你在修改列时,可以把原有的值付给TIMESTAMP列:

mysql> UPDATE student SET english=66,time=time WHERE id=11;
mysql> select * from student where id=11;


+------+------+---------+---------+---------+----------------+

| id   | name | english | chinese | history | time           |

+------+------+---------+---------+---------+----------------+

|   11 | Tom  |      66 |      93 |      67 | 20010220130517 |

+------+------+---------+---------+---------+----------------+

另一方面,你可能发现,当你想要实现上面这个效果时,很容易用一个你用NOW()初始化的DATETIME列然后不再改变它,这样也许直接些。但是,TIMESTAMP列的以后好处是存储要求比较小,节省空间。TIMESTAMP的存储需求是4字节,而DATETIME列的存储需求是8字节。

返回日期和时间范围

当你分析表中的数据时,你也许希望取出某个特定时间的数据。我们用下面一个表来模仿一个web站点的记录。

mysql> CREATE TABLE weblog
-> (
-> data float,
-> entrydate datetime
-> );


然后随机的增加几个数据:

mysql> INSERT weblog VALUES(rand(),now());

rand()函数返回一个随机的浮点值,now()函数返回当前时间。多执行上面语句几次,得到一个作为测试的表。

最为测试你还可以增加一个值:

mysql> INSERT weblog VALUES(rand(),”2001-02-08”);

这条语句,插入一个entry为”2001-02-08 00:00:00”的值(假定现在为2001年2月8日),你可以

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号