mysql的字符串转日期的函数用法

MySQL日期转换技巧
本文介绍如何使用MySQL的str_to_date函数将特定格式的日期字符串转换为日期类型,以便进行日期运算,例如求最大日期等。文章提供了多个示例,展示了不同格式的日期字符串如何被正确解析。

今天需要把 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)
%pAM 或 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会自动将字符串换为日期进行比较。例如,可以使用以下查询将字符串换为日期: SELECT * FROM table_name WHERE date_column > '2020-01-01' 在这个示例中,字符串'2020-01-01'会自动换为日期类型进行比较。 另一种方法是使用DATE_FORMAT函数,它允许您将日期换为指定的字符串格式。例如,可以使用以下查询将日期换为字符串: SELECT DATE_FORMAT(date_column, '%Y-%m-%d') FROM table_name 在这个示例中,DATE_FORMAT函数日期换为字符串,格式为YYYY-MM-DD。 还有一种情况是,当我们从用户界面接收到的信息都是以字符串的形式进行传递时,我们可以使用STR_TO_DATE函数字符串换为日期类型进行存储。例如,可以使用以下查询将字符串换为日期: INSERT INTO table_name (date_column) VALUES (STR_TO_DATE('2020-01-01', '%Y-%m-%d')) 在这个示例中,STR_TO_DATE函数字符串'2020-01-01'换为日期类型,并将其插入到日期列中。 因此,在MySQL中,可以使用自动换、DATE_FORMAT函数或STR_TO_DATE函数字符串换为日期。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [mysql字符串和时间互相换的方法(自动换及DATE_FORMAT函数)](https://blog.youkuaiyun.com/harryho/article/details/77978424)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [MySQL字符串使用 STR_TO_DATE() 函数](https://blog.youkuaiyun.com/qq_62701769/article/details/124654240)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值