MySQL——日期与时间类型

ops/2024/9/23 3:30:11/

        为了方便在数据库中存储日期和时间,MySQL 提供了表示日期和时间的数据类型分别是 YEAR、DATE、TIME、DATETIME 和 TIMESTAMP。下表列举了这些 MySQL 中日期和时间数据类型所对应的字节数、取值范围、日期格式以及零值。

数据类型字节数取值范围日期格式零值
YEAR11901~2155YYYY0000
DATE41000-01-01~9999-12-3YYYY-MM-DD0000-00-00
TIME3
 
-838:59:59~838:59:59
1000-01-01
HH:MM:SS00:00:00
DATETIME8
 
00:00:00~9999-12-31 23:59:59YYYY-MM-DDHH:MM:SS0000-00-00 00:00:00
TIMESTAMP41970-01-01 00:00:01~2038-01-19 03:14:07YYYY-MM- DDHH:MM:SS0000-00-00 00:00:00

        从表中可以看出,每种日期和时间类型的取值范围都是不同的。需要注意的是如果插入的数值不合法,系统会自动将对应的零值插入数据库中。

1. YEAR 类型

YEAR 类型用于表示年份,在 MySQL中,可以使用以下三种格式指定 YEAR 类型的值。

        (1)使用4位字符串或数字表示,范围为 ' 1901 ' ~ ' 2155 ' 或 1901~2155。例如,输入 ' 2014 ' 或 2014,插入到数据库中的值均为 2014 。


        (2)使用两位字符串表示,范围为 ' 00 ' ~ ' 99 ' ,其中, ' 00 ’ ~ ' 69 ' 范围的值会被转换为 2000~2069 范围的 YEAR值, ' 70 ’~ ' 99 ' 范围的值会被转换为 1970~1999 范围的 YEAR 值。例如,输入 ' 14 ' ,插入到数据库中的值为 2014 。


        (3)使用两位数字表示,范围为 1~99,其中,1~69 范围的值会被转换为 2001~2069 范围的 YEAR值,70~99 范围的值会被转换为 1970~1999 范围的 YEAR 值。例如,输入 14,插入到数据库中的值为 2014。

        需要注意的是,当使用 YEAR 类型时,一定要区分 ' 0 ' 和 0。因为字符串格式的 ' 0 ' 表示的 YEAR 值是 2000,而数字格式的 0 表示的 YEAR 值是 0000。

2. DATE 类型

        DATE类型用于表示日期值,不包含时间部分。在 MySQL中,可以使用以下 4 种格式指定 DATE 类型的值。

        (1)以 ' YYYY-MM-DD ' 或者 ' YYYYMMDD ' 字符串格式表示。

                例如,输人 ' 2014-01-21 ' 或 ' 20140121 ',插入数据库中的日期都为 2014-01-21。

        (2)以 ' YY-MM-DD ' 或者 ' YYMMDD ' 字符串格式表示。YY 表示的是年,范围为 ' 00 ' ~ ' 99 ',其中 ' 00 ' ~'  69 ' 范围的值会被转换为 2000~2069 范围的值, ' 70 ’ ~ ' 99 ' 范围的值会被转换为 1970~1999 范围的值。

                例如,输入 ' 14-01-21 ' 或 ' 140121 ',插人数据库中的日期都为 2014-01-21。 

      (3)以 YY-MM-DD 或者 YYMMDD 数字格式表示。

                例如,输入 14-01-21或140121,插人数据库中的日期都为 2014-01-21

        (4)使用 CURRENT DATE 或者 NOW() 表示当前系统日期。

3.TIME 类型

        TIME 类型用于表示时间值,它的显示形式一般为 HH:MM:SS,其中,HH 表示小时,MM 表示分,SS表示秒。在 MySQL中,可以使用以下三种格式指定 TIME 类型的值。

        (1)以 ' D HH;MM;SS ' 字符串格式表示。其中,D表示日,可以取 0~34 之间的值插入数据时,小时的值等于(Dx24+HH)。

                例如,输人 ' 2 11;30.50 ' ,插人数据库中的日期为 59:30:50。

        (2)以 ' HHMMSS ' 字符串格式或者 HHMMSS 数字格式表示。

                例如,输人 ' 345454 ' 或 345454,插入数据库中的日期为 34:54:54。

        (3)使用CURRENT_TIME或 NOWO)输人当前系统时间。

                DATETIME类型用于表示日期和时间,它的显示形式为 ' YYYY-MM-DD HH ' 。

4. DATETIME 类型

        DATETIME类型用于表示日期和时间,它的显示形式为:' YYYY-MM-DD HH MM:SS ' ,        其中,YYYY 表示年,MM 表示月,DD 表示日,HH 表示小时,MM 表示分,SS表示秒。在 MySQL 中,可以使用以下 4 种格式指定 DATETIME 类型的值。

        (1)以 ' YYYY-MM DD HH;MM;SS ' 或者 ' YYYYMMDDHHMMSS ' 字符串格式表示的日期和时间。取值范围为 ' 1000-01-01 00;00:00 ' - ' 9999-12-31 23:59;59 ' 例如,输入 ' 2014-01-22 09:01;23 ' 或 20140122090123 ,插人数据库中的 DATETIME 值都为 2014-01-22 09:01:23。

        (2)以 ' YY-MM-DD HH:MM;SS ' 或者 ' YYMMDDHHMMSS ' 字符串格式表示的日值都为 2014-01-22 09;01:23。日期和时间,其中 YY表示年,取值范围为 ' 00 ' ~ ' 99 ’ 。与 DATE 类型中的 YY 相同,' 00 ' ~ ' 69 ' 范围的值会被转换为 2000~2069 范围的值,' 70 ’ ~ ' 99 ' 范围的值会被转换为 1970~1999 范围的值。

        (3)以 YYYYMMDDHHMMSS 或者 YYMMDDHHMMSS 数字格式表示的日期和时间。例如,插入 20140122090123 或者 140122090123 ,插入数据库中的 DATETIME 值都为 2014-01-22 09:01:23。

        (4)使用 NOW( ) 来输入当前系统的日期和时间。

5.TIMESTAMP 类型

        TIMESTAMP 类型用于表示日期和时间,它的显示形式与 DATETIME 相同,但取值范围比 DATETIME 小。下面介绍几种 TIMESTAMP 类型与 DATATIME 类型不同的形式,具体如下。

(1)使用CURRENT_TIMESTAMP 来输人系统当前日期和时间

(2)输入 NULL时,系统会输人系统当前日期和时间。

(3)无任何输入时,系统会输入系统当前日期和时间。


http://www.ppmy.cn/ops/87481.html

相关文章

vue+node后台处理大文件切片上传--前端部分

本文主要介绍,在vue3vite项目下,如何进行有效的大文件上传,本文章主要讲大文件切片上传方式,并提供简单的demo代码供参考 首先,请确保已经创建好项目,这一步跳过。 1、为了选择合适的文件,我们…

Python酷库之旅-第三方库Pandas(060)

目录 一、用法精讲 231、pandas.Series.reorder_levels方法 231-1、语法 231-2、参数 231-3、功能 231-4、返回值 231-5、说明 231-6、用法 231-6-1、数据准备 231-6-2、代码示例 231-6-3、结果输出 232、pandas.Series.sort_values方法 232-1、语法 232-2、参数…

精心准备的高水平的博客【点评语】,来抄啊!

大家好,我是一名_全栈_测试开发工程师,已经开源一套【自动化测试框架】和【测试管理平台】,欢迎大家关注我,和我一起【分享测试知识,交流测试技术,趣聊行业热点】。 第 1 条 这篇博客文章如同灯塔般照亮了技…

从入门到自动化:一篇文章掌握Python的80%

Python作为一种高级编程语言,以其简洁明了的语法和强大的功能性,在全球编程社区内享有极高的声誉。本文将带领你从Python的基础语法入手,介绍其常用库的应用,以及如何将Python用于数据分析、网络爬虫和简单的自动化任务&#xff0…

什么是负责任的人工智能

「AI秘籍」系列课程: 人工智能应用数学基础人工智能Python基础人工智能基础核心知识人工智能BI核心知识人工智能CV核心知识AI 进阶:企业项目实战 可直接在橱窗里购买,或者到文末领取优惠后购买: 拥有权利的同时也被赋予了重大的…

Python可视化开发全面教程

Python是一种功能强大且易于学习的编程语言,它还提供了丰富的可视化库,如Matplotlib、Seaborn、Plotly和Bokeh。这些库使得数据可视化变得简单而直观。在本教程中,我们将介绍如何使用Python进行数据可视化,从基础知识到高级技巧。…

crack 基于golang的多并发爆破工具

一款轻巧的内网弱口令枚举工具,项目地址:GitHub - oksbsb/crack: 支持 ftp ssh smb mysql mssql postgres 安装 ​ git clone https://github.com/yanweijin/crack go build main.go基于用法 ➜ crack git:(master) ✗ go run main.go --help …

盘点那些实用的开发技术!!

敏感信息加密操作,让开发的系统更加的安全可靠!!Jasypt(Java Simplified Encryption)是一个开源的Java库,用于简化加密操作。https://mp.weixin.qq.com/s/sPBV8Ej46YJsElImodRjAQ每个Web开发都应了解的&…