MySQL的时间类型

article/2025/10/8 21:08:41

MySQL的时间类型

首先可以将使用字符串类型来表示时间类型排除掉:字符串占用需要 19字节,占用的空间比较大。其次字符串表示的时间比较、处理比较麻烦,不能使用时间函数,比如:YEAR()

所以MySQL的经常使用的时间类型就是TimeStamp、DateTime。

TimeStamp和DateTime的区别:

相同点

  • 两者的格式是一致的为:YYYY-MM-DD HH:MM:SS

不同点:

  1. DATETIME的能使用的时间范围更大

    1. DATETIME能表示的范围:1000-01-01 00:00:00.0000009999-12-31 23:59:59.999999

    2. TIMESTAMP能表示的范围::'1970-01-01 00:00:01.000000' UTC'2038-01-09 03:14:07.999999' UTC

      如果插入的时间范围超过了TIMESTAMP的范围会抛出错误Incorrect datetime value: '2040-3-30 11:00:00' for column 'time_stamp'

  2. 空间占用

    1. TIMESTAMP占用4个字节
    2. DATETIME 在MySQL5.6占用8字节,之后版本占用5个字节
  3. TIMESTAMP类型受时区影响,会随时区的变化改变

    比如time_test表中有如下数据:
    在这里插入图片描述
    改变系统的时区(默认是东8区,现改变系统的时区为东9区):
    在这里插入图片描述

    再次查询表中的数据发现类型为TIMESTAMP类型的时间变了,而DATETIME的时间并没有变化:
    在这里插入图片描述

  4. 插入now(),保存的实际值是否和当前计算机的时间一致:

    • TIMESTAMP:可能不一致,因为它的值会先被转换为UTC时间值然后存入数据库
    • DATETIME:不会做转换,与当前时间是一致的。

小结:

  • TIMESTAMP占用的空间更小,通常用在与时区有关的场景下,当然DATETIME也可以通过一些手段和时区联系;
  • TIMESTAMP的缺陷就是所能表示的时间范围太小,DATETIME通常用在和时区无关的场景下,并且要求表示的时间范围比较大。

http://chatgpt.dhexx.cn/article/Z1O3pb6X.shtml

相关文章

timestamp类型数据,一段时间内查询。

创建时间是timestamp类型,根据年月日的日期是无法查询到的,所以我们需要通过转换数据格式进行查询。 查询一段时间内的数据。 一、beteen...and SELECT * FROM weigh WHERE Business_card_number LIKE 华A% AND DATE_FORMAT(N_time,%Y-%m-%d %H:%i:%s…

MySQL 中 TIMESTAMP 类型返回日期时间数据中带有 T

MySQL 中 TIMESTAMP 类型返回日期时间数据中带有 T 一、场景描述: MySQL 中使用 TIMESTAMP 类型 实体类使用 java.util.Date 类型 返回 JSON 数据: 二、通过注解格式化(方法一) 可以在日期类型属性上,或者 GET 方…

【mysql】日期与时间类型

文章目录 日期与时间类型1. YEAR类型2. DATE类型3. TIME类型4. DATETIME类型5. TIMESTAMP类型6. 开发中经验 日期与时间类型 日期与时间是重要的信息,在我们的系统中,几乎所有的数据表都用得到。原因是客户需要知道数据的时间标签,从而进行数…

根据年月日查询mysql的时间戳(timestamp)的处理方法

有的时候我们想查询数据的创建时间,也可以理解为用户的注册时间来查询数据,因为一般创建时间都会timestamp类型,所以根据年月日的日期是无法查询到的,所以我们需要转换格式查询,下面就看具体的操作吧。 这是我表的数据…

mysql时间类型

mysql时间类型:datetime,timestamp,date,time,year 几种时间类型比较如下: 1.datetime DATETIME 用于表示 年月日 时分秒,是 DATE 和 TIME 的组合,并且记录的年份(见上表)比较长久…

快速Mockito教程

一、什么是mock测试,什么是mock对象? 先来看看下面这个示例: 从上图可以看出如果我们要对A进行测试,那么就要先把整个依赖树构建出来,也就是BCDE的实例。 一种替代方案就是使用mocks 从图中可以清晰的看出 mock对象就是…

【转】Mockito教程

原文地址:https://www.cnblogs.com/Ming8006/p/6297333.html 1 Mockito 介绍 [3] 1.1 Mockito是什么? Mockito是mocking框架,它让你用简洁的API做测试。而且Mockito简单易学,它可读性强和验证语法简洁。 1.2 为什么需要Mock 测…

mockito使用教程

一、什么是 Mock 测试 Mock 测试就是在测试过程中,对于某些不容易构造(如 HttpServletRequest 必须在Servlet 容器中才能构造出来)或者不容易获取比较复杂的对象(如 JDBC 中的ResultSet 对象),用一个虚拟的…

Mockito教程

目录 1 Mockito 介绍 1.1 Mockito是什么? 1.2 为什么需要Mock 1.3 Stub和Mock异同 1.4 Mockito资源 1.5 使用场景 2 使用Mockito 2.1 验证行为 2.2 模拟我们所期望的结果 2.3 RETURNS_SMART_NULLS和RETURNS_DEEP_STUBS 2.4 模拟方法体抛出异常 …

python的取整函数:向上取整,向下取整,四舍五入取整

#encoding:utf-8 import math#向上取整 print "math.ceil---" print "math.ceil(2.3) > ", math.ceil(2.3) print "math.ceil(2.6) > ", math.ceil(2.6)#向下取整 print "\nmath.floor---" print "math.floor(2.3) > &q…

[Python] Python数值取整

美图欣赏2022/06/22 1.向上取整math.ceil() 不论正负,所有小数都是向着数值更大的方向取整 import math math.ceil(-0.5) # 0 math.ceil(-0.9) # 0 math.ceil(0) # 0 math.ceil(0.5) # 1 math.ceil(1.2) # 2 2.向下取整math.floor() 不论正负,所有小数都是向着数值更小的方…

python的 取整 及 四舍五入方法(包含list元素取整)

目录 1、向下取整int()2、四舍五入round()2.1 表达式:2.2 注意:尽量不用round!,原因如下 3、向上取整math.ceil()4、分别取整数部分和小数部分5、list元素取整 1、向下取整int() >>> a 3.75 >>> int(a) 32、四…

python中取整数操作

python中取整数操作 ★向靠近零的方向取整 int(x)内置函数【https://docs.python.org/zh-cn/3/library/functions.html#int 】,向靠近零的方向取整,x是数字表达式,如 int(4.4) #得到4 int(-4.4) #得到-4 int(4.5) #得到4 int(-4.5) …

python取整(不同方法的取整)

1. 向下取整 int是截断取整 举个例子 4.x等于4 2.四舍五入 round( )函数简介 菜鸟教程中介绍到,round() 函数作用就是,返回浮点数x的四舍五入值。 x round(5.76543, 2) print(x) >>> x5.773、向上取整 向上取整需要用到 math 模块中的 ce…

【Java之网络】网络基本概念总结

网络相关概念 一. 局域网和广域网1. 局域网(LAN)(1)定义(2)特点 2. 广域网(WAN)(1)定义(2)特点 二. IP地址和端口号1. IP地址2. 端口号…

java网络编程学习基础篇

一、基础背景 时代背景 自2000年左右,Web的快速发展以及2010左右的云原生和云计算的提出,网络通信的重要性越来越凸显出来; 对于用户来说:软件的响应速度和体验是越来越重要的,而网络通信是决定响应速度关键因素之一…

神经网络和CNN的一些基础概念,基础知识的梳理

(好吧,这又是一篇软文,适合初学者) 一、通用概念: 1. 有监督学习方法与非监督学习方法: 必须要有训练集与测试样本,模型在训练集中寻找规律,训练结束对测试样本使用这种规律进行…

一些神经网络基础知识归纳

神经网络(NN)复杂度 NN复杂度,多用NN层数和NN参数个数表示 如上图示 空间复杂度 层数隐藏层的层数1个输出层 上图为2层NN 总参数 3*44 4*2226 时间复杂度 乘加运算次数 3*44*220 指数衰减学习率 可以先用较大学习率,快速得…

Java网络编程(一)网络的基本认知

前言 这是一个信息化的时代,在生活中,网络通信无处不在。比如发送短信,邮件,视频通话等。 以邮件为例子: ① 收件人: 相当于网络编程的ip地址端口号,定位到某一个具体的地方!只有找…

第四章 使用JAVA构建神经网络

• 构建一个神经网络 •激活函数 • Encog持久化 •在代码里使用Encog Analyst 这章将展示用Encog怎样构造前馈与简单递归神经网络,以及在最后部分怎样保存这些神经网络。创建神经网络类型使用BasicNetwork和BasicLayer这两个类,除了这两个类,还使用…