Mysql 日期Date和字符串String的互相转换(DATE_FORMAT & STR_TO_DATE)

1.Date ——> String

使用的函数:DATE_FORMAT(date,format) date:需要转换的日期 format:格式化的样式
format样式:

: %Y 显示四位 : 2015 %y 只显示后两位 :15

: %M 月份的英文显示:October %m 月份的阿拉伯显示:01-12 %b 月份的英文缩略显示:Oct %c 月份的阿拉伯显示:1-12

: %d 阿拉伯显示:00-31 %D 带有英文后缀:1st-31th %e 阿拉伯显示:1-31 %j 年的天:001-366

: %H :00-23 %h:01-12 %I:01-12 %k:0-23 %l:1-12

: %i:00-59

: %S:00-59 %s:00-59

微妙:%f

AM/PM:%p

12小时制时间: %r: 02:02:44 PM

24小时制时间: %T: 14:02:44

周: %W:周的英文显示 %w 周的阿拉伯显示 :0(星期日)-6(星期六) %a 周的英文缩略显示:Mon-

 

例子:

DATE_FORMAT(now(),"%Y-%m-%d %T") 20120-09-018 14:10:32

DATE_FORMAT(now(),"%Y-%m-%d %H:%i:%s %p") 2020-09-18 14:10:32 PM

 

2.String ——>Date

使用的函数:STR_TO_DATE(str,format) str:字符形式的日期 format:格式化样式

STR_TO_DATE('1992-04-12',"%Y-%m-%d") // 输出:1992-04-12(日期形式)

MySQL 5.6 date 与 string 的转换和比较

表中有一个字段 dpt_date ,SQL 类型为 date,表示离开日期。
我们将 dpt_date 与字符串 ‘2016-03-09’ 进行比较,发现效率低于 dpt_date 转换为字符串再与 ‘2016-03-09’ 进行比较:
SELECT * FROM tbl_name WHERE dpt_date = '2016-03-09' 效率低于 SELECT * FROM tbl_name WHERE FORMAT_DATE(dpt_date, '%Y-%m-%d')='2016-03-09'。
posted @ 2020-07-24 16:17  德豪  阅读(4438)  评论(0编辑  收藏  举报