今天需要把 time 字段的这种字符串“21/Feb/2019:15:04:24” 转换为日期,便于用max计算。
找到mysql的str_to_date函数。
str_to_date(time,'%e/%b/%Y:%H:%i:%s')
str_to_date()的格式同 DATE_FORMAT一样。
定义和用法
DATE_FORMAT() 函数用于以不同的格式显示日期/时间数据。
语法
DATE_FORMAT(date,format)
date 参数是合法的日期。format 规定日期/时间的输出格式。
可以使用的格式有:
| 格式 | 描述 |
|---|---|
| %a | 缩写星期名 |
| %b | 缩写月名 |
| %c | 月,数值 |
| %D | 带有英文前缀的月中的天 |
| %d | 月的天,数值(00-31) |
| %e | 月的天,数值(0-31) |
| %f | 微秒 |
| %H | 小时 (00-23) |
| %h | 小时 (01-12) |
| %I | 小时 (01-12) |
| %i | 分钟,数值(00-59) |
| %j | 年的天 (001-366) |
| %k | 小时 (0-23) |
| %l | 小时 (1-12) |
| %M | 月名 |
| %m | 月,数值(00-12) |
| %p | AM 或 PM |
| %r | 时间,12-小时(hh:mm:ss AM 或 PM) |
| %S | 秒(00-59) |
| %s | 秒(00-59) |
| %T | 时间, 24-小时 (hh:mm:ss) |
| %U | 周 (00-53) 星期日是一周的第一天 |
| %u | 周 (00-53) 星期一是一周的第一天 |
| %V | 周 (01-53) 星期日是一周的第一天,与 %X 使用 |
| %v | 周 (01-53) 星期一是一周的第一天,与 %x 使用 |
| %W | 星期名 |
| %w | 周的天 (0=星期日, 6=星期六) |
| %X | 年,其中的星期日是周的第一天,4 位,与 %V 使用 |
| %x | 年,其中的星期一是周的第一天,4 位,与 %v 使用 |
| %Y | 年,4 位 |
| %y | 年,2 位 |
实例
下面的脚本使用 DATE_FORMAT() 函数来显示不同的格式。我们使用 NOW() 来获得当前的日期/时间:
DATE_FORMAT(NOW(),’%b %d %Y %h:%i %p’)
DATE_FORMAT(NOW(),’%m-%d-%Y’)
DATE_FORMAT(NOW(),’%d %b %y’)
DATE_FORMAT(NOW(),’%d %b %Y %T:%f’)
结果类似:
Dec 29 2018 11:45 PM
12-29-2018
29 Dec 18
29 Dec 2018 16:25:46.635
str_to_date()的格式同 DATE_FORMAT一样。
如:
select str_to_date(‘09/02/2019’,’%m/%d/%Y’)
select str_to_date(‘20150422154706’,’%Y%m%d%H%i%s’)
select str_to_date(‘2015-04-22 15:48:06’,’%Y-%m-%d %H:%i:%s’)
MySQL日期转换技巧
本文介绍如何使用MySQL的str_to_date函数将特定格式的日期字符串转换为日期类型,以便进行日期运算,例如求最大日期等。文章提供了多个示例,展示了不同格式的日期字符串如何被正确解析。
1860

被折叠的 条评论
为什么被折叠?



