mysql 时间_MySQL中日期和时间类型

2023-11-19

1 日期类型 MySql中关于日期的类型有Date/Datetime/Timestamp三种类型。

日期赋值时,允许“不严格”语法:任何标点符都可以用做日期部分或时间部分之间的间割符。例如,'98-12-31 11:30:45'、'98.12.31 11+30+45'、'98/12/31 11*30*45'和'98@12@31 11^30^45'是等价的,对于不合法的将会转换为:0000-00-00 00:00:00

1.1 Date格式

此类型的字段,存储数据格式为:YYYY-MM-DD,它支持的范围为'1000-01-01'到'9999-12-31',并且允许使用字符串或数字为此列复制。

例如,日期格式的字段crt_date,通过字符串和数字复制后的结果如下:

update sys_tables set crt_date = 12331212 where table_name = 'sys_dict';update sys_tables set crt_date = '1233-12-12' where table_name = 'sys_dict_item';

b8accc3f6d3d771d79cc0b31902a75d7.png

1.2 Datetime格式

日期和时间的组合,存储格式为:YYYY-MM-DD HH:MM:SS,它支持的范围为'1000-01-01 00:00:00'到'9999-12-31 23:59:59',并且允许使用字符串或数字进行分配值。

例如:

update sys_tables set crt_date = 12331212121212 where table_name = 'sys_dict';update sys_tables set crt_date = '1233-12-12 12:12:12' where table_name = 'sys_dict_item';

f43ce252c436660359baea8f73688073.png

1.3 TimeStamp格式

这是时间戳,从1970-01-01 00:00:00到当前的时间差值(注意:当你在Java中输出[new Date(0)] 的时候,输出的是:Thu Jan 01 08:00:00 CST 1970,这是因为时区的概念,中国是东八区,所以对应的是早上八点),它精确到毫秒级别,范围为:1970-01-01 00:00:00 到 2037年(参考2038年问题),当值大于2037年就会抛出: [Error Code: 1292, SQL State: 22001]  Data truncation: Incorrect datetime value: '20381212121212' for column 'crt_date' at row 1。设置值时只允许设置数字类型的值。

在为TimeStamp类型字段赋值的时候,值必须大于19700101000000,否则就会抛出: [Error Code: 1292, SQL State: 22001]  Data truncation: Incorrect datetime value: '10831212121212' for column 'crt_date' at row 1。

例如:

update sys_tables set crt_date = 20081212121212 where table_name = 'sys_dict';56da7ebaa3f9198d908cf2bb9d5b2c7d.png

2 时间类型

MySQL中时间类型用Time表示。

2.1 Time格式

MySQL以'HH:MM:SS'格式检索和显示TIME值(或对于大的小时值采用'HHH:MM:SS'格式)。TIME值的范围可以从'-838:59:59'到'838:59:59'。小时部分会因此大的原因是TIME类型不仅可以用于表示一天的时间(必须小于24小时),还可能为某个事件过去的时间或两个事件之间的时间间隔(可以大于24小时,或者甚至为负)。

格式说明:'D HH:MM:SS.fraction'格式的字符串。还可以使用下面任何一种“非严格”语法:'HH:MM:SS.fraction'、'HH:MM:SS'、'HH:MM'、'D HH:MM:SS'、'D HH:MM'、'D HH'或'SS'。这里D表示日,可以取0到34之间的值。请注意MySQL还不保存分数。

'HHMMSS'格式的没有间割符的字符串,假定是有意义的时间。例如,'101112'被理解为'10:11:12',但'109712'是不合法的(它有一个没有意义的分钟部分),将变为'00:00:00'。

HHMMSS格式的数值,假定是有意义的时间。例如,101112被理解为'10:11:12'。下面格式也可以理解:SS、MMSS、HHMMSS、HHMMSS.fraction。请注意MySQL还不保存分数。

函数返回的结果,其值适合TIME上下文,例如CURRENT_TIME。

超出TIME范围但合法的值被裁为范围最接近的端点。例如,'-850:00:00'和'850:00:00'被转换为'-838:59:59'和'838:59:59'。

3 年类型

MySQL中用year表示年类型

MySQL以YYYY格式检索和显示YEAR值。范围是1901到2155。

可以指定各种格式的YEAR值:

四位字符串,范围为'1901'到'2155'。

四位数字,范围为1901到2155。

两位字符串,范围为'00'到'99'。'00'到'69'和'70'到'99'范围的值被转换为2000到2069和1970到1999范围的YEAR值。

两位整数,范围为1到99。1到69和70到99范围的值被转换为2001到2069和1970到1999范围的YEAR值。请注意两位整数范围与两位字符串范围稍有不同,因为你不能直接将零指定为数字并将它解释为2000。你必须将它指定为一个字符串'0'或'00'或它被解释为0000。

函数返回的结果,其值适合YEAR上下文,例如NOW()。

非法YEAR值被转换为0000。

4 日期兼容性问题

MySQL服务器采用了Unix的时间功能,对于TIMESTAMP值,可处理的日期至2037年。对于DATE和DATETIME值,可接受的日期可至9999年。

所有的MySQL日期函数均是在1个源文件sql/time.cc中实现的,并经过了恰当编码以确保2000年安全。

在MySQL 3.22和以后的版本中,YEAR列类型能够在1个字节内保存0年以及1901~2155年,并能使用两位或四位数字显示它们。所有的两位数字年份均被视为介于1970~2069年之间,这意味着,如果你在YEAR列中保存了01,MySQL服务器会将其当作2001年。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

mysql 时间_MySQL中日期和时间类型 的相关文章

  • html5自带属性验证表单必填

    html5自带属性验证表单必填 2014年02月25日 Html5 共 366字 字号 小 中 大 6条评论 阅读 6 515 次 为了防止恶意注册 通常会验证表单必填 实现方法以js为主 略微麻烦 今天才发现 html5如今已自带验证表单
  • 注册表常用键值意义

    HKEY CURRENT USER Software Policies Microsoft Internet Explorer Control Panel Internet Explorer选项类 HomePage dword 000000
  • IDEA下java程序的简单调试

    一 本次任务实现的是一个java的程序调试 首先本次进行调试的一个程序是实现从1累加到100的功能 是在IDEA下进行编写的 如图所示 将其运行之后得到的结果如图所示 把第12行的输出语句给取消掉注释之后再运行一次得到的结果如图所示 这里由
  • day15

    文章目录 一 平衡二叉树 二 回溯小难 二叉树的所有路径 三 左叶子之和 一 平衡二叉树 110 平衡二叉树 依旧是使用后序遍历来统计高度 递归过程中 发现某节点的左右子树的高度差超过了1 我们就直接返回 1 不返回节点的高度了 递归函数的
  • CentOS安装Docker详细步骤

    一 简介 Docker 是一个开源的应用容器引擎 让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中 然后发布到任何流行的 Linux 或 Windows 操作系统的机器上 也可以实现虚拟化 容器是完全使用沙箱机制 相互之间不会有任何
  • ubuntu下搭建elasticsearch集群

    在Ubuntu 18 04 1 LTS搭建一个简单的elasticsearch集群demo 具体情况如下 集群名称 elasticsearch cluster demo 主节点 1个 node master one 数据节点 2个 node
  • 【芯片驱动】2. CMT2300A配合硬件测试(灵敏度和发射功率)的软件实现

    前言 在开发一款无线射频产品的时候 软件是一部分 硬件也是一部分 而决定无线收发性能的 首先是硬件的匹配电路 然后才到软件部分的优化 一款无线射频产品 首先需要先决定是在那个频率范围内 当然是国家允许的范围内 然后硬件则需要在基于这个频点范
  • 逻辑综合——工艺库

    一 库文件的设置 运行DC时需要用到的库文件有 目标库 target library 链接库 link library 符号库 symbol library 算术运算库 synthetic library 1 目标库 目标库是综合后电路网表
  • xml转义字符

    在mybatis在编写sql时不能在XML里直接使用 lt 或者是 gt 在这里需要使用转义字符替换 下面列举常用的xml转义对应 1 lt lt 小于号 2 gt gt 大于号 3 amp 和 4 apos 单引号 5 quot 双引号
  • 【前端知识点总结】Vue(一) 脚手架 及 ESlint

    Vue 前端攻城狮必备技能 1 什么是 Vue 渐进式 javacript 框架 渐进式 按需添加功能 逐渐集成 框架 拥有自己的语法规则 例 Vue 项目对其依赖很高 业务开发中如果选择了框架最好不要轻易更换框架 否则需要重构的地方很多
  • 软件版本详细对比alpha,beta,Gamma,RC,RT

    开源软件发布的时候 经常有alpha beta RC1 RC2 RC3等等 看得云里雾里 不知道啥意思 做了个简单总结 缩写 全称 中文意思 详细说明 功能与bug alpha 内测 开发团队内部测试的版本或者有限用户体验测试版本 功能不全
  • SylixOS IDE工具使用

    1 问题描述 使用RealEvo IDE 以下简称IDE 开发程序时 误操作输入错误的函数名称时 编译器不会报错 输入错误的函数名示例代码如程序清单1 1所示 程序清单 1 1 示例代码 include
  • 软件自动化测试对软件产品起到什么作用?有什么注意事项?

    自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程 通常 在设计了测试用例并通过评审之后 由测试人员根据测试用例中描述的规程一步步执行测试 得到实际结果与期望结果的比较 一 软件自动化测试的作用 1 提高测试效率 自动化测试可以大幅
  • 小记MAC安装GIT

    MAC安装GIT教程 0 安装方式说明 MAC安装软件的时候 有一个很好用的工具 叫 homebrew 大家可以试一下 我这里采用下载安装包的方式进行 1 下载git 我这里就暂且选择git最新版本 2 36 1 正常情况下 我们一般不选择
  • 经典的笔试题解析《高质量C/C++编程》

    对于 高质量C C 编程 想必这个已经是早已成名的经典书籍了 在此 笔者借用两三个题目 解析下面代码 错误示列 请勿模仿 正确的代码 在后面部分 include
  • 快排 + 二分

    一直觉得快排跟二分很像 大家也都有很多变种 在此整理一下 快排的特点是 需要一个pivort 让左边比他大 右边比他小 反之亦然 每次排序都有一个数的位置被确定 两种写法其实是一种 经典partition写在一个函数里 class Solu
  • Flutter BottomNavigationBar组件(底部导航栏)

    Flutter BottomNavigationBar 组件 BottomNavigationBar 常见的属性 属性名 说明 items List 底部导航条按钮集合 页面集合 iconSize icon currentIndex 默认选
  • 单相逆变器第二课、DC/AC电路基础理论学习

    这周是真心忙 到现在才把DC AC单相部分的理论知识看完 但由于是第一次接触电力电子 写的不好的地方 大家轻喷 DC AC变换电路成为逆变 也就是直流电压 电流 向交流电压 电流 变化 先来看下电压型逆变器 电压型逆变器主要有三类 电阻负载
  • 90 后学霸博士 8 年进击战:用机器学习为化工研究叠 BUFF

    本文首发自微信公众号 HyperAI超神经 内容一览 ScienceAI 作为近两年的技术热点 引起了业界广泛关注和讨论 本文将围绕 ScienceAdvances 的一篇论文 介绍如何利用机器学习 对燃煤电厂的胺排放量进行预测 关键词 A

随机推荐

  • 简短的 mouseover 显示与隐藏层的办法

    简短的 mouseover 显示与隐藏层的办法 在制作 mouseover 和 mouseout 显示 隐藏层的时候 有时总会出现 mouseover 层里面的对象时 层消失的情况 这是因为mouseover 层内 对象时 会对前层产生两个
  • 从零开始学习OpenWrt完美教程

    Cisco Linksys在2003年发布了WRT54G这款无线路由器 同年有人发现它的IOS是基于Linux的 然而Linux是基于GPL许可证发布的 按照该许可证Cisco应该把WRT54G 的IOS的源代码公开 2003年3月 Cis
  • ASP.NET Core项目无法使用命令行执行ef命令

    在项目目录下 打开命令行窗口 执行dotnet ef help 提示以下信息 报错信息 无法执行 因为找不到指定的命令或文件 可能的原因包括 你拼错了内置的 dotnet 命令 你打算执行 NET Core 程序 但 dotnet ef 不
  • mv:重命名和移动文件、文件夹

    在Linux中 mv命令可以用于重命名和移动文件 也可以用于重命名和移动文件夹 注意 如果目标目录已经存在同名的文件或文件夹 mv命令将覆盖目标文件或合并目标文件夹 请注意 在使用mv命令时要小心 确保提供正确的文件名和路径 以免误操作造成
  • 这样的程序员年薪可以达到多少呢?

    转载于 https www cnblogs com Rainbow890722 p 10456640 html
  • 美媒体称谷歌卫星技术可实时定位全球军舰

    5月17日 美国 AOL防务 网站刊登文章 称谷歌公司将推出一款新软件 可让用户对任何一艘海上船只进行实时追踪定位并了解水深数据 包括美海军军舰 做了美军做不到的事 据悉 谷歌公司耗资数百万美元发展能够精确定位船只方位并搜集水深数据的卫星技
  • Redis 跳跃表

    跳跃表 跳跃表基础知识 跳跃表 网易公开课 gt 跳跃表 总结 效率堪比各种平衡树结构 如红黑树 B树 B 树 实现起来简单 仅用到链表的知识 基于概率论 有个随机过程 但表现不错
  • 神经网络优化(损失函数:自定义损失函数、交叉熵、softmax())

    参考 神经网络优化 损失函数 自定义损失函数 交叉熵 softmax 云 社区 腾讯云 1 前向传播 搭建网络结构 反向传播 训练网络参数 2 激活函数 提高了模型的表达里 使模型更具有表达力 3 神经网络的层数 通常用神经网络的层数和神经
  • 区块链应用技术学习(一)

    众所周知 区块链技术的特性就在于其去中心化与不可篡改性 由于这俩点的特性的存在 使得区块链技术的发展颇有看头 于是小编我也踏上了区块链学习的过程 文章目录 前言 一 区块链是什么 二 区块链作用 1 企业 2 个人 总结 前言 在学习区块链
  • Android资源管理中的SharedLibrary和Dynamic Reference-------之资源共享库(一)

    一 引言 共享库的概念 相信大家都有所了解 它有有许多优点 可以设想 在一个系统上要跑100个应用 并且它们都使用到了同一个库 如果这个库做成静态库 那么每个应用中都要打包一次这个库 100个应用就是100次 这无疑是重复的 我们可不可以在
  • FIFO读写控制

    如果在两个模块之间传输数据 两个模块之间的处理速率不同 会导致采集数据的遗漏或错误 在他们之间加一个数据缓存器 所有数据先经过缓存器缓存 再输入数据接送模块 创建两个模块 一个 作为发送模块 一个作为接受模块 发送模块检测到 fifo为空开
  • Python3,2行代码,多种方法,直接把网页内容转换成PDF文档和图片。

    网页转换成PDF 1 引言 2 代码实战 2 1 模块介绍 2 1 1 pdfkit 2 2 安装 2 3 代码实例 2 3 1 URL 对应网页转 PDF 2 3 2 HTML 文件转 PDF 2 3 3 字符串转 PDF 2 4 拓展
  • C++中protected访问权限问题

    今天发现有这样两句话 1 基类的保护成员对于派生类的成员是可访问的 2 派生类的成员只能通过派生类对象访问基类的保护成员 派生类对一个基类对象中的受保护成员没有访问权限 这两句话看的太头晕了 其实作者应该是想表达 只有在派生类中才可以通过派
  • Spring-boot+Dubbo(直连模式)

    Spring boot Dubbo 直连模式 Demo 这里应该有很多人会问 直连模式 什么鬼啊 一般情况下我们进行微服务开发时 都是通过zookeeper等注册中心来实现服务的提供和引用的 那直连模式没啥用啊 其实不然 直连模式大有用处
  • 基于51单片机汽车胎压温度监测报警系统(程序+仿真+原理图+元件清单)

    功能介绍 采用51单片机作为主控单片机 通过采集传感器的胎压和DS18b20的温度 显示到LCD1602上面 并且可以通过按键设置温度和压力的阈值 超过此值蜂鸣器进行报警 可以及时的提醒驾驶员胎压或者温度异常 程序采用keil编写 并且有中
  • 【翻译】容器解决方案加入了绿色软件基金会

    8月 Container Solution加入了绿色软件基金会 主要由微软设立 因为坦率地说他们有大笔资金 以帮助促进和支持我们迫切需要的气候意识的软件开发方法 Container Solution的技术伦理学家Anne Currie将是我
  • ViewPager实现导航页

    我们在首次安装app时 往往会发现会有导航页 导航页一般用于介绍功能和引导使用 那我们其实可以用ViewPager实现 ViewPager用于实现多页面的滑动切换效果 使用时需要引入 android support v4 包 好了 我们现在
  • 打开方式中选择默认方式无反映_Win7系统无法选择打开方式的解决方法

    习惯用win7系统的用户在使用过程中一定会遇到这个问题 有的时候想要打开PDF文件 如果不安装其他软件 单用默认的打开方式是打不开的 安装了软件之后 仍然找不到自己想要用的打开方式 今天小编以打开PDF为例 跟大家分享win7系统无法选择打
  • vscode前端常用插件 最新版

    1 不需要安装的插件 序号 名称 作用 settings json配置 1 Auto Rename Tag 自动关闭标签 editor linkedEditing true 2 Auto Close Tag 标签自动闭合 html auto
  • mysql 时间_MySQL中日期和时间类型

    1 日期类型 MySql中关于日期的类型有Date Datetime Timestamp三种类型 日期赋值时 允许 不严格 语法 任何标点符都可以用做日期部分或时间部分之间的间割符 例如 98 12 31 11 30 45 98 12 31