MySQL日期处理

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) ;
计算出生到现在的天数

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容