MySQL 对字符串使用 STR_TO_DATE() 函数

2023-11-08

 Ptw-cwl


前面我们利用 date_formate() 函数,按照自己希望的格式来输出日期时间。

我们从用户界面接收到的信息都是以字符串的形式在进行传递,如何把字符串转换为日期类型进行存储呢?可使用 str_to_date() 函数。

把字符串转换为日期时间需要注意以下几点:

  • 待转换字符串中只能出现数字,否则返回结果为 null;

  • 如果格式字符串仅包含日期,则待转字符串至少需要 8 位数字,转换时默认前四位是年份,中间两位是月份,最后两位是日期,格式字符串无需使用 - 区分日期各部分,结果会自动用 - 拼接日期各个部分;

  • 转换后日期时间必须有效,否则返回结果为 null;

  • 如果被转字符串超出 8 位且格式字符串中无时间格式,则自动取前 8 位转换为日期;

  • 格式字符串可包含时间格式,格式字符串无需使用 : 区分时间各部分,结果中的时间部分会自动用 : 连接各个部分。

str_to_date() 函数的用法和 date_format() 基本一致,只是输出数据的类型不同,前提都需要熟悉输出格式,参照date_format()

接下来就上述 5 点注意事项进行举例说明(这一段说明是针对 mysql 的,webide 使用的是兼容 mysql 的 MariaDB,在此环境下进行下面 5 点说明的实验,可能会得到不同结果):

待转换字符串中只能出现数字,否则返回结果为 null。

 select str_to_date('2020070a','%Y%m%d');

输出结果:

 +----------------------------------+
 | str_to_date('2020070a','%Y%m%d') |
 +----------------------------------+
 | NULL                             |
 +----------------------------------+
 1 row in set, 2 warnings (0.00 sec)

如果格式字符串仅包含日期,则待转字符串至少需要 8 位数字。

 select str_to_date('202007','%Y%m%d');

输出结果:

 +--------------------------------+
 | str_to_date('202007','%Y%m%d') |
 +--------------------------------+
 | NULL                           |
 +--------------------------------+
 1 row in set, 1 warning (0.00 sec)

注意:字符串 202007 低于 8 位,其结果返回 null。

转换后日期时间必须有效,否则返回结果为 null。

 select str_to_date('20201301','%Y%m%d');

输出结果:

 +----------------------------------+
 | str_to_date('20201301','%Y%m%d') |
 +----------------------------------+
 | NULL                             |
 +----------------------------------+
 1 row in set, 2 warnings (0.00 sec)

注意:20201301 转换为日期后得到的月份是 13,超出有效范围,故结果返回 null。

如果被转字符串超出 8 位且格式字符串中无时间格式,则自动取前 8 位转换为日期。

 select str_to_date('2020070110','%Y%m%d');

输出结果:

 +------------------------------------+
 | str_to_date('2020070110','%Y%m%d') |
 +------------------------------------+
 | 2020-07-01                         |
 +------------------------------------+
 1 row in set, 1 warning (0.00 sec)

格式字符串可以包含时间格式。

 select str_to_date('20200701104523','%Y%m%d%H%i%S');

输出结果:

 +----------------------------------------------+
 | str_to_date('20200701104523','%Y%m%d%H%i%S') |
 +----------------------------------------------+
 | 2020-07-01 10:45:23                          |
 +----------------------------------------------+
 1 row in set (0.00 sec)

Ptw-cwl


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

MySQL 对字符串使用 STR_TO_DATE() 函数 的相关文章

随机推荐

  • 本地springboot项目上传到gitee

    1 在gitee上新建一个仓库 创建后可以拿到仓库地址 https gitee com ouyangshuiming linux test git 2 选中 创建git仓库 3 4 最后一步 一定记得这里要写上一段话 才能成功提交 比如gi
  • Elasticsearch的一些基本概念

    文章目录 基本概念 文档和索引 JSON文档 元数据 索引 REST API 节点和集群 节点 Master eligible节点和Master节点 Data Node 和 Coordinating Node 其它节点 分片 Primary
  • 如何找到电脑自带的浏览器

    1 找到电脑自带的浏览器 首先就是进入你的C盘 然后在C盘里找到自己的如下路径 C Program Files internet explorer 找到成功 完成
  • Conan

    环境 ubuntu bionic的docker image shell docker run it ubuntu bionic 预装工具 shell apt get install cmake 安装conan shell pip3 inst
  • ViT常见的模型规格以及源码记录

    ViT常见的模型规格以及源码记录 综述 介绍 网络结构 模型规格 源码实现 综述 论文题目 AN IMAGE IS WORTH 16X16 WORDS TRANSFORMERS FOR IMAGE RECOGNITION AT SCALE
  • Java设计模式——单例模式(Singleton Pattern)

    从上一篇文章Java设计模式 装饰模式 Decorator Pattern 中估计大家都已经对java设计模式有了初步的理解 今天呢 阿Q就给大家讲一下另一种设计模式 单例设计模式 首先我们先来了解一下它的概念 单例模式是设计模式中最简单的
  • Java架构直通车——Java基础面试考点清单

    文章目录 基础 J U C jvm虚拟机 数据结构 算法 Spring RPC通信框架 网络通信 MQ 缓存 Mybatis 其他技术 基础 强引用 弱引用 虚引用 软引用 final关键字的作用 方法 变量 类 泛型 泛型继承 泛型擦除
  • 谷歌浏览器常用插件

    1 高对比度模式 调节流量器界面的颜色方案 挑选自己喜欢的效果 2 Pocket 将浏览过的网站收藏到这里 方便后续阅读 未完待续
  • python实现分页功能

    python实现分页功能 class Pagination def init self current page per page num 10 self per page num per page num if not current p
  • python画箱线图代码_箱线图(Python代码)

    箱线图 理论 懒得介绍了 用五位数描述数据 能够准确稳定地描绘出数据的离散分布情况 不受异常值影响 不能精确地衡量数据分布的偏态和尾重程度 对于批量比较大的数据 反映的信息更加模糊以及用中位数代表总体评价水平有一定的局限性 plt boxp
  • go 进阶 go-zero相关: 四. 服务注册原理

    目录 一 基础 二 resolver 服务注册底层原理 1 创建registerEtcd函数 并将该函数封装到keepAliveServer结构体中 2 执行registerEtcd函数实现服务注册 3 registerEtcd 服务注册详
  • 从编程角度看SSL协议(2)ssl库--SSLContext类

    1 SSLContext类介绍 ssl库中除了提供SSLSocket类以外 还提供了SSLContext类 相比于SSLSocket类 SSLContext提供了丰富的属性 供我们修改和查看SSL握手时的参数 我们可以通过以下命令来实例化S
  • vue day02 error

    搭建路由的时候出问题了 但是最后貌似没有报错 我估计是版本兼容的问题 目前项目运行时没问题 也显示安装成功 看看以后使用会不会出问题吧 C Users little shark Desktop project SPH app gt cnpm
  • uni-app实现再次返回退出应用时不退出应用而是在后台运行

    如果APP需要后台驻留 用户返回到首页时会提示退出操作 我们可以不退出而是隐藏至后台 这样的话APP就会在后台运行 以下代码须写在main js里面 弹出的内容可自定义设 置 ifdef APP PLUS let main plus and
  • Python 将控制台输出另存为日志文件

    文章目录 Python 将控制台输出另存为日志文件 需求 方法一 使用 Logger 类 推荐 方法二 仅使用 sys 方法三 使用 logging 模块 参考文献 Python 将控制台输出另存为日志文件 需求 在 PyCharm 中或者
  • Linux底层开发之四书五经

    操作系统 Linux 内核设计与实现 第2 版 深入理解Linux 内核 第二版 Linux内核分析与编程 Linux方面的好书最多 其中 Linux 内核设计与实现 第2 版 Robert Love著 机械工业出版社出版译著 属短小精悍之
  • AI帮个忙(网页)

    首先 AI帮个忙站内目前有25种AI工具 主要包含有周报日报生成器 总结概括小助手 视频脚本生成器 小红书风格模拟器 餐厅或商品点评器 节日祝福 夸夸小助手 哄女朋友小助手 帅锅小助手等等多种有趣并且实用的小工具 在使用时也是非常简单的 找
  • 《银行法律法规》三、银行管理——2、公司治理、 内部控制与合规管理

    第二章 公司治理 内部控制与合规管理 第一节 公司治理 考点1 银行公司治理概述 商业银行公司治理是指股东大会 董事会 监事会 高级管理层 股东及其他利益相关者之间的相互关系 包括组织架构 职责边界 履职要求等治理制衡机制 以及决策 执行
  • 1071 小赌怡情(15 分) java

    1071 小赌怡情 15 分 常言道 小赌怡情 这是一个很简单的小游戏 首先由计算机给出第一个整数 然后玩家下注赌第二个整数将会比第一个数大还是小 玩家下注 t 个筹码后 计算机给出第二个数 若玩家猜对了 则系统奖励玩家 t 个筹码 否则扣
  • MySQL 对字符串使用 STR_TO_DATE() 函数

    Ptw cwl 前面我们利用 date formate 函数 按照自己希望的格式来输出日期时间 我们从用户界面接收到的信息都是以字符串的形式在进行传递 如何把字符串转换为日期类型进行存储呢 可使用 str to date 函数 把字符串转换