MySQL的STR_TO_DATE()函数将指定格式的字符串转为Date

一、前言

在处理日期的国际化时区问题时,我们会选择结合时区将日期在Java代码层面作为某个格式的字符串就行传输,最终需要以Date类型将时间存储到数据库。

二、STR_TO_DATE()函数

STR_TO_DATE(str,format)函数是将时间格式的字符串(str),按照所提供的显示格式(format)转换为DATETIME类型的值。

  • STR_TO_DATE()函数可能会根据输入和格式字符串返回DATE,TIME或DATETIME值。
  • 如果输入字符串是非法的,则STR_TO_DATE()函数返回NULL。

DATE_FORMAT(date,format)函数则是把数据库的日期转换为对应的字符串格式;详细内容见博文:https://blog.csdn.net/Saintmm/article/details/124432214

STR_TO_DATE函数的语法如下:

STR_TO_DATE(str,format);

常用的的format格式,也见博文:https://blog.csdn.net/Saintmm/article/details/124432214

DATE_FORMAT字符串格式格式化日期
%Y/%m/%d2022/04/26
%Y-%m-%d2022-04-26
%e/%c/%Y4/8/2022
%d/%m/%Y %H:%i26/04/2022 17:27
%b %d %Y %h:%i %pApr 26 2022 05:28 PM
%Y-%m-%d %T:%f2022-04-26 17:29:30:000000
%W %D %M %Y %TTuesday 26th April 2022 17:31:34

三、示例

1> %Y/%m/%d

如果月份和日的数字小于10,用0填充,显示两位数字;

SELECT STR_TO_DATE('2022/04/26','%Y/%m/%d') AS date;

在这里插入图片描述

2> %e/%c/%Y

如果月份和日的数字小于10,不再用0填充,可以只显示一位;

SELECT STR_TO_DATE('4/8/2022','%e/%c/%Y') AS date;

在这里插入图片描述

3> %d/%m/%Y %H:%i

SELECT STR_TO_DATE('26/04/2022 17:27','%d/%m/%Y %H:%i') AS date;

在这里插入图片描述

4> %b %d %Y %h:%i %p

SELECT STR_TO_DATE('Apr 26 2022 05:28 PM','%b %d %Y %h:%i %p') AS date;

在这里插入图片描述

5> %Y-%m-%d %T:%f

SELECT STR_TO_DATE('2022-04-26 17:29:30:000000','%Y-%m-%d %T:%f') AS date;

在这里插入图片描述

6> %W %D %M %Y %T

SELECT STR_TO_DATE('Tuesday 26th April 2022 17:31:34','%W %D %M %Y %T') AS date;

在这里插入图片描述

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

秃秃爱健身

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值