理一理Mysql日期

在 MySQL 数据库中,关于日期和时间的类型主要有以下几种:

1. **DATE**: 仅存储日期部分,格式为 `YYYY-MM-DD`,例如 `2023-10-31`。

2. **TIME**: 仅存储时间部分,格式为 `HH:MM:SS`,例如 `14:30:00`。

3. **DATETIME**: 存储日期和时间,格式为 `YYYY-MM-DD HH:MM:SS`,例如 `2023-10-31 14:30:00`。

4. **TIMESTAMP**: 存储日期和时间,格式为 `YYYY-MM-DD HH:MM:SS`,并且会根据时区进行转换,通常用于记录数据的创建和修改时间。

5. **YEAR**: 存储年份,格式为 `YYYY`,例如 `2023`。

这些类型可以根据具体需求选择使用,以便在数据库中存储和处理日期和时间数据。

在 MySQL 中,`TIMESTAMP` 类型有一些限制和注意事项:

1. **时区影响**:`TIMESTAMP` 会根据服务器的时区进行存储和检索,因此在不同的时区环境中可能会导致时间不一致的问题。

2. **自动初始化和更新**:`TIMESTAMP` 列可以自动初始化为当前时间或在记录更新时自动更新为当前时间。这在某些情况下很有用,但也可能导致意外的行为。

3. **范围限制**:`TIMESTAMP` 的有效范围是 `1970-01-01 00:00:01` UTC 到 `2038-01-19 03:14:07` UTC。如果需要存储超出此范围的日期和时间,建议使用 `DATETIME` 类型。

4. **默认值限制**:在 MySQL 5.6 之前,`TIMESTAMP` 列必须有一个默认值,通常是 `CURRENT_TIMESTAMP`。在 MySQL 5.6 及之后的版本中,这个限制有所放宽。

5. **存储大小**:`TIMESTAMP` 占用 4 字节的存储空间,而 `DATETIME` 占用 8 字节。

这些限制在使用 `TIMESTAMP` 类型时需要注意,以确保数据的正确性和一致性。

如果保存的时间是 1900-01-01 00:00:00, 

timestamp 类型是保存不了的

一般使用DATETIME类型就可以了。包含了 日期和时间,如果有些场景只需要日期,比如按天维度的,那么用DATE来存储。

建议不使用 timestamp类型,因为存储范围有限。

所以,首先 DATETIME,其次根据需要选 DATE

再JDK中,提供了三种日期:

1. 

java.util.Date

util 包下的Date,就是 包含日期和时间,不论数据库中是什么类型。

例如:

`Mon Jan 01 00:00:00 CST 1900` 这种格式是 Java 中 `Date` 类的默认字符串表示形式。它包含以下部分:

1. **星期**:`Mon` 表示星期一。
2. **月份**:`Jan` 表示一月。
3. **日期**:`01` 表示1号。
4. **时间**:`00:00:00` 表示午夜零点。
5. **时区**:`CST` 表示中国标准时间(China Standard Time)。
6. **年份**:`1900` 表示年份1900年。

这种格式是通过 `Date` 类的 `toString()` 方法生成的。

对于表结构中:

1 如果的Date ,转为util下的Date时, 时间部分是 00:00:00

2. 如果是Time,转为util下的Date时,日期部分是 1970-01-01

3. 如果是DATETIME 或者 TIMESTAMP,转为util下的Date时,没问题,包含日期 时间

2.

java.sql.Date

java.sql.Time

java.sql.Timestamp

sql 包下的Date,基本和表里的对应

Date 只包含日期

Time只包含时间

Timestamp 包含日期和时间

3.

java.time.LocalDate

java.time.LocalTime

java.time.LocalDateTime

time包下的,和 表里的基本也是对应的

如果表中的字段类型是 varchar,存储的是时间,也可以用上面三类来就收。

只是,varchar 存储的 必须是正确的时间格式才行。如果存了其他非日期,会出现类型转换异常。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/898627.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CEF 多进程模式时,注入函数,获得交互信息

CEF 控制台添加一函数,枚举 注册的供前端使用的CPP交互函数有哪些-CSDN博客 上篇文章,是在模拟环境,单进程中设置的,这篇文章,将其改到正常多进程环境中设置。 对应于工程中的 CEF_RENDER项目 一、多进程模式中,改写 修改步骤 1、注入函数 client_app_render.cpp 在…

C++ 介绍STL底层一些数据结构

c 标准模板库中&#xff0c;set和map的底层实现通常基于红黑树&#xff0c;然们都是平衡二叉搜索树(Balanceed Binary Serach Tree&#xff09;的一种,这种结构保证了 插入&#xff0c;删除&#xff0c;查找的时间复杂度为O(log n)比普通二叉搜索树更高效。 set set<T>…

在 Kubernetes(k8s)部署过程中常见的问题

在 Kubernetes(k8s)部署过程中,常见的问题主要包括以下几类,以下是具体示例及简要说明: 1. 资源配额不足(Resource Quota) 现象:Pod 处于 Pending 状态,事件日志显示 Insufficient CPU/Memory。 原因: 节点(Node)资源不足,无法满足 Pod 的 requests 或 limits。 命…

Android Window浮窗UI组件使用JetPack

目前接手的一个业务&#xff0c;应用不是用Activity/Fragment作为界面组件&#xff0c;而是用Window浮窗的形式显示&#xff0c;并且浮窗有很多种类型&#xff0c;每一种类型对应一类业务。那么怎么使用Jatpack的相关特性来设计架构并提高开发效率呢&#xff1f;分下面几个模块…

基于WebRtc,GB28181,Rtsp/Rtmp,SIP,JT1078,H265/WEB融合视频会议接入方案

智能融合视频会议系统方案—多协议、多场景、全兼容的一站式视频协作平台 OvMeet,LiveMeet针对用户​核心痛点实现功能与用户价值 &#xff0c;Web平台实现MCU多协议&#xff0c;H265/H264等不同编码监控&#xff0c;直播&#xff0c;会议&#xff0c;调度资源统一融合在一套界…

深入浅出理解LLM PPO:基于verl框架的实现解析之一

1. 写在前面 强化学习(Reinforcement Learning,RL)在大型语言模型(Large Language Model,LLM)的训练中扮演着越来越重要的角色。特别是近端策略优化(Proximal Policy Optimization,PPO)算法,已成为对齐LLM与人类偏好的主流方法之一。本文将基于verl框架(很多复刻De…

卷积神经网络 - 汇聚层

卷积神经网络一般由卷积层、汇聚层和全连接层构成&#xff0c;本文我们来学习汇聚层。 汇聚层(Pooling Layer)也叫子采样层(Subsampling Layer)&#xff0c;其作用是进 行特征选择&#xff0c;降低特征数量&#xff0c;从而减少参数数量。 卷积层虽然可以显著减少网络中连接的…

vue使用element-ui自定义样式思路分享【实操】

前言 在使用第三方组件时&#xff0c;有时候组件提供的默认样式不满足我们的实际需求&#xff0c;需要对默认样式进行调整&#xff0c;这就需要用到样式穿透。本篇文章以vue3使用element-ui的Tabs组件&#xff0c;对Tabs组件的添加按钮样式进行客制化为例。 确定需要修改的组…

【工具分享】vscode+deepseek的接入与使用

目录 第一章 前言 第二章 获取Deepseek APIKEY 2.1 登录与充值 2.2 创建API key 第三章 vscode接入deepseek并使用 3.1 vscode接入deepseek 3.2 vscode使用deepseek 第一章 前言 deepseek刚出来时有一段时间余额无法充值&#xff0c;导致小编没法给大家发完整的流程&…

【蓝桥杯速成】| 9.回溯升级

题目一&#xff1a;组合综合 问题描述 39. 组合总和 - 力扣&#xff08;LeetCode&#xff09; 给你一个 无重复元素 的整数数组 candidates 和一个目标整数 target &#xff0c;找出 candidates 中可以使数字和为目标数 target 的 所有 不同组合 &#xff0c;并以列表形式返…

【C++进阶】深入探索类型转换

目录 一、C语言中的类型转换 1.1 隐式类型转换 1.2. 显式类型转换 1.3.C语言类型转换的局限性 二、C 类型转换四剑客 2.1 static_cast&#xff1a;静态类型转换&#xff08;编译期检查&#xff09; 2.2 dynamic_cast&#xff1a;动态类型转换&#xff08;运行时检查&…

代码随想录_动态规划

代码随想录 动态规划 509.斐波那契数 509. 斐波那契数 斐波那契数 &#xff08;通常用 F(n) 表示&#xff09;形成的序列称为 斐波那契数列 。该数列由 0 和 1 开始&#xff0c;后面的每一项数字都是前面两项数字的和。也就是&#xff1a; F(0) 0&#xff0c;F(1) 1 F(n…

计算机基础:编码03,根据十进制数,求其原码

专栏导航 本节文章分别属于《Win32 学习笔记》和《MFC 学习笔记》两个专栏&#xff0c;故划分为两个专栏导航。读者可以自行选择前往哪个专栏。 &#xff08;一&#xff09;WIn32 专栏导航 上一篇&#xff1a;计算机基础&#xff1a;编码02&#xff0c;有符号数编码&#xf…

设计模式(创建型)-单例模式

摘要 在软件开发的世界里&#xff0c;设计模式是开发者们智慧的结晶&#xff0c;它们为解决常见问题提供了经过验证的通用方案。单例模式作为一种基础且常用的设计模式&#xff0c;在许多场景中发挥着关键作用。本文将深入探讨单例模式的定义、实现方式、应用场景以及可…

基于FPGA频率、幅度、相位可调的任意函数发生器(DDS)实现

基于FPGA实现频率、幅度、相位可调的DDS 1 摘要 直接数字合成器( DDS ) 是一种通过生成数字形式的时变信号并进行数模转换来产生模拟波形(通常为正弦波)的方法,它通过数字方式直接合成信号,而不是通过模拟信号生成技术。DDS主要被应用于信号生成、通信系统中的本振、函…

本地JAR批量传私服

在有网络隔离的环境下&#xff0c;Maven项目如果没有搭建私服就得把用到的通用组件通过U盘在每个组员间拷贝来拷贝去。非常的麻烦跟低效。搭建私服&#xff0c;如果通用组件很多的时候手工一个一个上传更是非常的麻烦跟低效&#xff1b; 我就遇上这问题&#xff0c;跟A公司合作…

【ROS实战】02-ROS架构介绍

1. 简介 你是否曾有过这样的疑问&#xff1a;我按照文档安装了ROS&#xff0c;依照要求写了一些示例节点&#xff08;node&#xff09;、消息&#xff08;msg&#xff09;和话题&#xff08;topic&#xff09;&#xff0c;但觉得过程既麻烦又繁琐。也许你开始怀疑&#xff1a;…

LeetCode算法题(Go语言实现)_07

题目 给你一个整数数组 nums&#xff0c;返回 数组 answer &#xff0c;其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请 不要使用除法&#xff0c;且在 O(n) 时间复…

网络华为HCIA+HCIP 网络编程自动化

telnetlib介绍 telnetlib是Python标准库中的模块。它提供了实现Telnet功能的类telnetlib.Telnet。这里通过调用telnetlib.Telnet类里的不同方法实现不同功能。 配置云

查看GPU型号、大小;CPU型号、个数、核数、内存

GPU型号、大小 nvidia-smiCPU型号 cat /proc/cpuinfo | grep model name | uniqCPU个数 cat /proc/cpuinfo | grep "physical id" | uniq | wc -lCPU核数 cat /proc/cpuinfo | grep "cpu cores" | uniqCPU内存 cat /proc/meminfo | grep MemTotal参考…