`

选择优化的数据类型 (五)日期和时间类型

阅读更多

mysql提供了两种相似的数据类型:DATETIME和TIMESTAMP.对于很多应用,它们都能工作,但是在某些情况下,一种会好于另一种

DATETIME:

从1001到9999年,精度为秒。它把日期和时间封装到一个格式为YYYYMMDDHHMMSS的整数中,与时区无关。使用了8字节存储空间。

在默认情况下,mysql以一种可排序的,清楚的格式显示DATETIME值,例如2012-08-28 18:18:18。这种表示日期和时间的方式符合ANSI标准。


TIMESTAMP:

这和时间戳相同,只使用4个字节的存储空间,但它的范围比DATETIME小很多,1970到2038年。mysql提供了FROM_UNIXTIME()函数把Unix时间戳转换为日期,并提供了UNIX_TIMESTAMP()函数,把日期转换为Unix时间戳。


TIMESTAMP显示的值依赖于时区。mysql服务器,操作系统及客户端连接都有时区设置。


在默认情况下,如果插入的行没有定义TIMESTAMP的值,mysql就会把它设置为当前时间。在更新的时候,如果没有显式地定义TIMESTAMP列的值,mysql也会自动更新它。可以配置TIMESTAMP列的插入和更新行为。最后,TIMESTAMP列默认是NOT NULL,这和其他数据类型都不一样。


通常情况下应该使用TIMESTAMP,因为它比DATETIME更节约空间。有时人们把Unix的时间戳保存为整数值,但是这通常没有任何好处。因为这种格式处理起来不太方便。我们并不推荐它。


如果需要以秒以下的精度保存日期和时间?mysql当前没有适合的数据类型,但是可以使用自己的存储格式,可以使用BIGINT类型并且把它以毫秒的精度保存为时间戳格式,或者使用DOUBLE保存秒的分数部分。两种方法都不错。

分享到:
评论

相关推荐

    SQL SERVER的数据类型自定义

    ### SQL Server 数据类型详解与自定义数据类型创建 ...通过合理选择和自定义数据类型,不仅可以优化数据存储,还能提升数据处理的性能和安全性。希望本文能帮助你更好地理解和应用SQL Server中的数据类型功能。

    SQL Server 2008中的新数据类型——新的三维数据类型和日期类型可以实现更多功能.pdf

    除了FILESTREAM,新的日期和时间类型也提供了更细粒度的时间数据处理能力。在SQL Server 2008之前,DATETIME类型既能表示日期也能表示时间,但实际上很多时候只需要其中的一部分。为了解决这一问题,SQL Server 2008...

    MySQL日期数据类型、MySQL时间类型使用总结.docx

    这些数据类型的选择对于数据库设计和性能优化至关重要。以下是关于MySQL日期和时间类型的详细说明: 日期类型: 1. **datetime**:占用8字节存储空间,格式为`YYYY-MM-DD HH:MM:SS`,支持的日期范围从1000-01-01 00...

    sql server 数据类型

    正确选用数据类型不仅可以优化存储空间,还能提高查询性能,避免不必要的数据转换和计算错误。例如,如果知道一个字段的值总是介于0和255之间,使用tinyint会比使用int更节省空间。反之,如果需要存储精确的金融数据...

    各品牌系列PLC的支持的数据类型汇总.doc

    例如,如果需要精确的时间测量,可能需要使用时间或日期时间类型;如果涉及大量数值计算,实数类型可能是首选。此外,通过使用构造数据类型和数组,可以有效地组织和处理大量相关数据。 总之,了解PLC支持的数据...

    SQL Server 2000数据类型

    此外,还有日期/时间类型如**datetime** 和 **smalldatetime**,用于存储日期和时间信息;**binary** 和 **varbinary** 类似于字符数据类型,但用于存储二进制数据;**image** 类型用于存储BLOB(Binary Large ...

    深入剖析数据库系统常用的数据类型

    数据库系统是管理和存储数据的核心工具,对于任何规模的应用程序,理解并有效利用其数据类型都是至关重要的...通过合理选择数字类型、日期时间类型和字符类型,我们可以确保数据的精确性,同时最大限度地减少资源消耗。

    SQL SERVER数据类型表

    在实际应用中,选择合适的数据类型可以优化存储效率、提高查询性能,并减少潜在的错误。例如,选择`decimal`或`numeric`类型来处理货币数据,可以确保计算的精确性;对于存储大量文本内容,`varchar(max)`或`...

    Firebird2.5数据类型说明

    Firebird 2.5 是一款...无论是简单的整数、浮点数,还是复杂的日期时间、字符串,甚至是大型的二进制对象,都有相应的数据类型来确保数据的有效管理和高效操作。了解这些数据类型是设计和管理Firebird数据库的关键。

    文档-数据库函数-数据类型

    4. 日期和时间类型:SQL Server提供了多种日期和时间数据类型,如DATE用于存储日期,TIME用于存储时间,DATETIME和SMALLDATETIME用于存储日期和时间,而DATETIME2和TIME2提供更高的精度。 5. 二进制类型:BINARY和...

    Integration Services 数据类型

    优化数据类型选择非常重要,因为它直接影响数据处理的速度和内存使用。例如,如果源数据中的数值范围较小,可以将大整数类型(如DT_UI8)更改为更小的类型(如DT_UI2),以节省内存。同样,对于日期/时间数据,可以...

    SQL_Server_2008中的数据类型比较详细的 介绍

    不同的日期时间类型提供了不同的精度和范围,开发人员可根据实际需求选择合适的数据类型。 除了上述提到的数据类型外,SQL Server 2008还支持其他特殊类型,例如timestamp(行版本控制的二进制数字)、sql_variant...

    java、mysql以及oracle数据类型对照表

    MySQL的数据类型包括数值类型(如INT、DECIMAL)、字符串类型(如VARCHAR、TEXT)、日期和时间类型(如DATE、TIMESTAMP)以及二进制类型(如BLOB、VARBINARY)。在Oracle中,我们有类似的数据类型,如NUMBER、...

    MySQL 日期和时间类型.pdf

    MySQL 是一个广泛使用的开源关系型数据库管理系统,其在处理日期和时间数据方面提供了多种数据类型。这些类型允许开发者准确地存储和操作日期、时间、日期时间以及持续时间等信息。以下是对MySQL中几种主要日期和...

    ORACLE 10g 数据类型

    Oracle 10g 数据类型是数据库管理的基础,它定义了数据在存储和处理时的格式。Oracle 提供了丰富的数据类型来满足各种...在创建表结构时,根据数据的特性和需求选择合适的数据类型,有助于优化存储空间和提高查询性能。

    MySQL常用数据类型.pdf

    在设计数据库表时,选择合适的数据类型对于优化存储空间和查询效率非常重要。例如,如果某个字段的值不会超过127,那么使用TINYINT代替SMALLINT或INT将会更加节省空间。同理,如果字段中存储的数据长度大致确定,...

    MySQL数据类型全掌握

    在数据库设计和开发过程中,正确选择数据类型对于确保数据的准确性和优化存储空间至关重要。MySQL作为一款广泛使用的开源关系型数据库管理系统,提供了丰富的数据类型来满足不同场景的需求。本文将详细介绍MySQL中的...

    mysql数据类型

    MySQL 数据类型详解 MySQL 数据类型是指在 MySQL 中存储数据的格式,包括整型、浮点型、...MySQL 数据类型的选择对数据库的性能和存储空间都有着重要的影响,因此选择合适的数据类型对数据库的设计和优化至关重要。

Global site tag (gtag.js) - Google Analytics