1、DATE() 函数:返回日期或日期时间表达式的日期部分;
2、str_to_date()函数:按照指定日期或时间显示格式 将字符串转换为日期或日期时间类型;
3、date_format()函数:按照指定日期或时间显示格式 输出日期或日期时间;
(1)DATE() 函数:返回日期或日期时间表达式的日期部分
SELECT date('2017-02-09 15:25:46.635') FROM dual;
(2)mysql日期和字符相互转换方法
date_format(date,'%Y-%m-%d') ————–>oracle中的to_char();
str_to_date(date,'%Y-%m-%d') ————–>oracle中的to_date();
%Y:代表4位的年份
%m:代表月, 格式为(01……12)
%d:代表月份中的天数,格式为(00……31)
%H: 代表小时,格式为(00……23)
%h: 代表小时,格式为(01……12)
%k: 代表 小时,格式为(0……23)
%I: 代表小时,格式为(01……12)
%l :代表小时,格式为(1……12)
%i: 代表分钟, 格式为(00……59) 【只有这一个代表分钟,大写的I 不代表分钟代表小时】
%r:代表 时间,格式为12 小时(hh:mm:ss [AP]M)
%T:代表 时间,格式为24 小时(hh:mm:ss)
%S:代表 秒,格式为(00……59)
%s:代表 秒,格式为(00……59)
例子:
select str_to_date('09/01/2009','%m/%d/%Y');
select str_to_date('20140422154706','%Y%m%d%H%i%s');
select str_to_date('2014-04-22 15:47:06','%Y-%m-%d %H:%i:%s');
当前时间按月-日 时:分:秒显示:
SELECT DATE_FORMAT(NOW(),'%m-%d %h:%i %p')FROM dual;
当前时间按 年-月-日 时:分:秒 AM/PM显示:
SELECT DATE_FORMAT(NOW(),'%Y-%m-%d %h:%i:%s %p') FROM dual;
当前时间按年周日时:分:秒显示:
SELECT DATE_FORMAT(NOW(),'%Y %b %d %T') FROM dual;
Tue Mar 10 06:05:53 2020)[(none)]> SELECT DATE_FORMAT(NOW(),'%Y %b %d %T') FROM dual;
+----------------------------------+
| DATE_FORMAT(NOW(),'%Y %b %d %T') |
+----------------------------------+
| 2020 Mar 10 06:05:55 |
+----------------------------------+
1 row in set (0.02 sec)
SELECT DATE_FORMAT(NOW(),'%y %b %d %T') FROM dual;
Tue Mar 10 06:08:19 2020)[(none)]> SELECT DATE_FORMAT(NOW(),'%y %b %d %T') FROM dual;
+----------------------------------+
| DATE_FORMAT(NOW(),'%y %b %d %T') |
+----------------------------------+
| 20 Mar 10 06:09:24 |
+----------------------------------+
1 row in set (0.00 sec)
%a 缩写星期名
%b 缩写月名
%c 月,数值
%D 带有英文前缀的月中的天
%d 月的天,数值(00-31)
%p AM 或 PM
%i 分钟,数值(00-59)
%m 月,数值(00-12)
%Y 年,4 位
%y 年,2 位