MySql有很多种表示时间和日期的类型,例如YEAR和DATE。最小的时间划分是秒。然而,它能够以微秒来进行时间计算,大部分的时间类型都是唯一的,所以没有哪个是更好的选择的问题。唯一的问题是当你同时存储时间和日期的时候应该怎么做。mysql提供了两个非常相似的数据类型:DATATIME和TIMESTAMP。对于大部分的应用来说,每一个都可以,但是在某些情况下,一个比另一个要有效。
DATATIME
这个类型可以存储大范围的值,从1001年到9999年,精度到秒。它把日期和时间以YYYYMMDDHHMMSS的格式存在一个integer中,独立于时区(time zone),使用8个字节的存储空间。
缺省的,MySql以分类明确的格式,例如2008-01-16 22:37:08 来显示时间,这是ANSI标准的方式。
TIMESTAMP
TIMESTAMP类型存储自1970年1月1日(格林威治时间)午夜到现在的秒数--和UNIX时间戳一样。TIMESTAMP只使用4个字节的存储空间,所以它比DATETIME的范围要小,从1970年到2038年(from the year 1970 to partway through the year 2038)。MySql提供FROM_UNIXTIME()和UNIX_TIMESTAMP()两个函数来把UNIX时间戳转换为日期,反之亦然。
MySql新版本TIMESTAMP的值和DATETIME一样,但是在旧版本中显示时候各部分之间没有任何分隔(but older MySql versions display them without any punctuation between the parts)。这只是显示格式的不同;在所有MySql版本中,TIMESTAMP的存储格式都是一样的。
TIMESTAPM的显示也依赖于时区。MySql服务器,os,和客户端连接都有时区的设置。因此,TIMESTAMP存储0实际上会以Eastern Daylight Time显示为1969-12-31 19:00:00,相对于GMT有5个小时的偏移。
TIMESTAMP也有特殊的属性,而DATETIME没有。缺省的,MySql在当你插入一条记录而没有指定值的时候把第一个TIMESTAMP列设为当前时间。在更新的时候,缺省情况下,MySql也会更新第一个TIMESTAMP列的值。最后,TIMESTAMP列缺省情况下是NOT NULL,这和其它的data类型不同。
MySql当前还没有提供合适的data类型来解决用亚秒(subsecond)来存储date和time 的方案,但是你可以使用你自己的存储格式:你可以使用BIGINT数据类型,把timestamp存储为微妙,或者你可以使用DOUBLE来存储秒的小数部分。两种方法都能工作的很好。
分享到:
相关推荐
MySQL 日期和时间类型.pdf
Oracle没有datetime类型,只有date类型,date类型可以同时用作日期时间类型。这里对Oracle日期时间类型做一下简单的介绍
在SQL Server 2005中使用日期/时间值有时候会很模糊、会觉得很迷茫。因为日期/时间数据类 型同时存储日期和时间值,而这些值的操作并不总是一个简单的过程,或者看起来不简单的。
数据库和表的创建与管理 表的字段类型 ...表示时间值的日期和时间类型为DATETIME、DATE、TIMESTAMP、TIME和YEAR。 每个时间类型有一个有效值范围和一个"零"值,当指定不合法的MySQL不能表示的值时使
对oracle date,timestamp,interval数据类型的详细讲解。
DATE数据类型存储日历日期。DATETIME采用任何程度的精度(从年到秒的小数)记录时间点。INTERVAL数据类型存储一段时间:即持续时间。 DATE数据类型存储日历日期。DATE值实际上是带符号的整数,其内容解释为从1899年...
MySQL日期数据类型、MySQL时间类型使用总结
在项目开发中,一些业务表字段经常使用日期和时间类型,而且后续还会牵涉到这类字段的查询。关于日期及时间的查询等各类需求也很多,本篇文章简单讲讲日期及时间字段的规范化查询方法。 1.日期和时间类型概览 MySQL...
2. toDateTime(datetime_expression):将日期时间表达式转换为日期时间类型。例如,toDateTime('2022-01-01 12:00:00')将返回日期时间类型的值'2022-01-01 12:00:00'。 3. now():返回当前日期时间。 4. today():...
在多行文本框每行输入一个日期时间数据,JavaScript代码判断并输出合法的日期时间,例如,输入: 2001-9-5 15:12:5 2018-9-22 你好 2017/6/18 22:2:5 hello Wed Sep 05 2001 15:12:05 哈哈哈哈 Wed Sep 05 2001 15...
日期和时间类型比较简单,无非是 DATE、TIME、DATETIME、TIMESTAMP和YEAR等几个类型。枚举(ENUM)类型,最多可以定义65535种不同的字符串从中做出选择,只能并 且必须选择其中一种,占用存储空间是一个或两个字节,...
怎么写字符串和数字 217 1.1.1 字符串 217 1.1.2 数字 219 1.1.3 ...日期和时间类型 226 串类型 226 1.3.2 数字类型 227 1.3.3 日期和时间类型 229 1.3.3.1 Y2K问题和日期类型 230 1.3.3.2 ...
怎么写字符串和数字 217 1.1.1 字符串 217 1.1.2 数字 219 1.1.3 ...日期和时间类型 226 串类型 226 1.3.2 数字类型 227 1.3.3 日期和时间类型 229 1.3.3.1 Y2K问题和日期类型 230 1.3.3.2 ...
日期和时间类型比较简单,无非是DATE、TIME、DATETIME、TIMESTAMP和YEAR等几个类型。枚举类型,最多可以定义65535种不同的字符串从中做出选择,只能并且必须选择其中一种,占用存储空间是一个或两个字节,由枚举值的...
二进制数据类型、日期和时间类型,并对数据类型存储需求、如何选择数据类 型进行了描述。 第二章详细介绍了 SQL 语言基础知识,包括数值,数据库、表、列和别名, 如何设置和使用用户变量、系统变量和注释语法。 第...
判断所传入的字符串是不是时间类型,日期类型,如果是日期类型可以转换成Date类型
日期时间选择器 DatePicker,一款高颜值、多场景的日期时间选择器,提供自定义颜色/格式/文案等。该插件采用scss编译,如遇到样式/层级问题可以到源码修改
SQL SERVER 2005 中的日期时间类型及使用方法 SQL SERVER 2005 中的日期时间类型及使用方法
xmlSchemaSchemaSchemaSchemaxmlxmlxmlxmlxmlxmlxmlxmlxmlxmlxmlxmlxmlxmlxmlxmlxmlxmlxmlxmlxmlxmlXML Schema 支持广泛的数据类型,如整型、浮点型、日期和时间。 支持其他功能,如开放内容模型和命名空间集成
数据库中日期时间用法 详解