mysql数据库中now函数的详解

mysql数据库中now函数的详解

ID:34724628

大小:74.18 KB

页数:6页

时间:2019-03-10

mysql数据库中now函数的详解_第1页
mysql数据库中now函数的详解_第2页
mysql数据库中now函数的详解_第3页
mysql数据库中now函数的详解_第4页
mysql数据库中now函数的详解_第5页
资源描述:

《mysql数据库中now函数的详解》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、MySQL目前不支持列的Default为函数的形式,如达到你某列的默认值为当前更新日期与时间的功能,你可以使用TIMESTAMP列类型下面就详细说明TIMESTAMP列类型:  TIMESTAMP列类型TIMESTAMP值可以从1970的某时的开始一直到2037年,精度为一秒,其值作为数字显示。TIMESTAMP值显示尺寸的格式如下表所示:+---------------+----------------+

2、列类型    

3、显示格式   

4、

5、TIMESTAMP(14)

6、YYYYMMDDHHMMSS

7、 

8、TIMESTAMP(12)

9、Y

10、YMMDDHHMMSS 

11、

12、TIMESTAMP(10)

13、YYMMDDHHMM  

14、

15、TIMESTAMP(8) 

16、YYYYMMDD   

17、

18、TIMESTAMP(6) 

19、YYMMDD    

20、

21、TIMESTAMP(4) 

22、YYMM     

23、

24、TIMESTAMP(2) 

25、YY      

26、+---------------+----------------+“完整”TIMESTAMP格式是14位,但TIMESTAMP列也可以用更短的显示尺寸创造最常见的显示尺寸是6、8、12、和14。你可以在创建表时指定一个任意的显示尺寸,但是定义列长为0

27、或比14大均会被强制定义为列长14。列长在从1~13范围的奇数值尺寸均被强制为下一个更大的偶数。  定义字段长度  强制字段长度TIMESTAMP(0)-> TIMESTAMP(14)TIMESTAMP(15)-> TIMESTAMP(14)TIMESTAMP(1)-> TIMESTAMP(2)TIMESTAMP(5)-> TIMESTAMP(6)  所有的TIMESTAMP列都有同样的存储大小,使用被指定的时期时间值的完整精度(14位)存储合法的值不考虑显示尺寸。不合法的日期,将会被强制为0存储  这有几个含意:1、虽然你建表时定

28、义了列TIMESTAMP(8),但在你进行数据插入与更新时TIMESTAMP列实际上保存了14位的数据(包括年月日时分秒),只不过在你进行查询时MySQL返回给你的是8位的年月日数据。如果你使用ALTERTABLE拓宽一个狭窄的TIMESTAMP列,以前被“隐蔽”的信息将被显示。2、同样,缩小一个TIMESTAMP列不会导致信息失去,除了感觉上值在显示时,较少的信息被显示出。3、尽管TIMESTAMP值被存储为完整精度,直接操作存储值的唯一函数是UNIX_TIMESTAMP();由于MySQL返回TIMESTAMP列的列值是进过格式

29、化后的检索的值,这意味着你可能不能使用某些函数来操作TIMESTAMP列(例如HOUR()或SECOND()),除非TIMESTAMP值的相关部分被包含在格式化的值中。例如,一个TIMESTAMP列只有被定义为TIMESTAMP(10)以上时,TIMESTAMP列的HH部分才会被显示,因此在更短的TIMESTAMP值上使用HOUR()会产生一个不可预知的结果。4、不合法TIMESTAMP值被变换到适当类型的“零”值(00000000000000)。(DATETIME,DATE亦然)  你可以使用下列语句来验证:CREATETABLE

30、test('id'INT(3)UNSIGNEDAUTO_INCREMENT,'date1'TIMESTAMP(8)PRIMARYKEY('id'));INSERTINTOtestSETid=1;SELECT*FROMtest;+----+----------------+

31、id

32、date1     

33、+----+----------------+

34、 1

35、20021114   

36、+----+----------------+ALTERTABLEtestCHANGE'date1''date1'TIMESTAMP(14);SELECT*F

37、ROMtest;+----+----------------+

38、id

39、date1     

40、+----+----------------+

41、 1

42、20021114093723

43、+----+----------------+你可以使用TIMESTAMP列类型自动地用当前的日期和时间标记INSERT或UPDATE的操作。如果你有多个TIMESTAMP列,只有第一个自动更新。自动更新第一个TIMESTAMP列在下列任何条件下发生:  1、列值没有明确地在一个INSERT或LOADDATAINFILE语句中指定。2、列值没有明确地在一个UP

44、DATE语句中指定且另外一些的列改变值。(注意一个UPDATE设置一个列为它已经有的值,这将不引起TIMESTAMP列被更新,因为如果你设置一个列为它当前的值,MySQL为了效率而忽略更改。)3、你明确地设定TIMESTAMP列为NU

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。