mysql - mysql 将字符串转换为日期时间格式
问题描述
在 MySQL 中试图将字符串转换为日期时间格式,但它返回 null 值。
将以下字符串转换为日期时间格式的正确方法是什么?
> select STR_TO_DATE('8/16/18 7:00 PM', '%c/%e/%Y %r');
+-------------------------------------------------+
| STR_TO_DATE('8/16/18 7:00 PM', '%c/%e/%Y %r') |
+-------------------------------------------------+
| NULL |
+-------------------------------------------------+
谢谢
解决方案
你必须匹配格式,%r 不匹配 7:00 PM
来自:https ://www.w3schools.com/sql/func_mysql_str_to_date.asp
%r = Time in 12 hour AM or PM format (hh:mm:ss AM/PM)
如您所见,需要两位数的小时和秒,而您没有。
您也不匹配 %Y 期望四位数年份的年份...所以我将其更改为 %y
像这样试试。
select STR_TO_DATE('8/16/18 7:00 PM', '%c/%e/%y %l:%i %p');
推荐阅读
- kubernetes - 水平 pod 自动缩放器无法在 minikube 部署中获取指标
- path - 增加笔触大小时,Curved Path2D 变直
- icalendar - Caldav 未在时间范围查询内返回事件
- rust - 如何为 Struct 实现 `std::iter::FromIterator<_>'?
- javascript - 我一直在尝试安装或创建 React 应用程序,但一直收到此错误消息
- google-chrome - Puppeteer 不在 Ubuntu 中重用缓存的字体
- autodesk-forge - BIM 360 比较文档
- postgresql - 将 UUID 插入客户端应用程序生成的 Postgres 是否合法?
- c# - 验证 C# 事件触发函数的命名
- javascript - Nothig 显示有 places.description == "Dermatologista" ?(