MySQL中的日期通常会定义成字符串类型,以便在python等其它程序语言中使用。
下面是MySQL表中字段定义为DATE时的处理函数:
str_to_date(日期字符串,日期格式)
将字符串类型转换成日期类型(varchar --> date),通常在insert语句中使用
mysql中的日期格式(注意大小写):
%Y 年
%m 月
%d 日
%H 时
%i 分
%s 秒
select str_to_date('1984-1-1 12-23-55', '%Y-%m-%d %H-%i-%s');
+-------------------------------------------------------+
| str_to_date('1984-1-1 12-23-55', '%Y-%m-%d %H-%i-%s') |
+-------------------------------------------------------+
| 1984-01-01 12:23:55 |
+-------------------------------------------------------+
1 row in set (0.00 sec)
如果字符串中日期同mysql中默认格式相同(年-月-日),mysql自动进行类型转换
select name, age from tb where birthday = '1984-1-1'
date_format
将日期转换成指定格式
select date_format('1990-1-3', '%m-%d-%Y' );
+--------------------------------------+
| date_format('1990-1-3', '%m-%d-%Y' ) |
+--------------------------------------+
| 01-03-1990 |
+--------------------------------------+
1 row in set (0.00 sec)
日期转换函数
to_days 获取指定日期距公元元年(0)的天数
select to_days(now()) - to_days(birthday) ;
计算出生到现在的天数