MySQL时间与字符串之间相互转换
MySQL 是一款使用广泛的关系型数据库管理系统,时间和日期是其常用数据类型之一。在 MySQL 中,可以通过各种函数和关键字来进行时间和字符串之间的相互转换。本文将介绍一些常用的 MySQL 时间和字符串相互转换方法。
时间转字符串
在 MySQL 中将时间转换成字符串有许多方法,其中最常用的是 DATE_FORMAT 函数。它的语法如下:
DATE_FORMAT(date,format)
其中,date 表示需要进行格式化的日期,format 表示需要的日期格式。例如,将当前时间转为年-月-日的形式,可以使用以下语句:
SELECT DATE_FORMAT(now(),'%Y-%m-%d');
除此之外,还有其他一些常用的日期格式化函数,如 TIME_FORMAT()、UNIX_TIMESTAMP() 等,这里不再赘述。
字符串转时间
与将时间转换成字符串相对应,MySQL 也提供了一些函数来将字符串转换为时间类型。其中,最常用的是 STR_TO_DATE 函数。它的语法如下:
STR_TO_DATE(str,format)
其中,str 表示需要转换的字符串,format 表示字符串的格式。例如,将 '2012-12-21' 转为时间类型,可以使用以下语句:
SELECT STR_TO_DATE('2012-12-21','%Y-%m-%d');
除此之外,还有其他一些字符串转换为时间类型的函数,如 FROM_UNIXTIME()、UNIX_TIMESTAMP() 等。
示例
下面通过一个示例来演示 MySQL 时间和字符串之间的相互转换。
假设现在有一张 users 表,其中包含如下数据:
id | name | created_time |
---|---|---|
1 | Alice | 2021-03-01 10:00:00 |
2 | Bob | 2021-03-02 12:00:00 |
3 | Charlie | 2021-03-03 14:00:00 |
现在需要查询出用户创建时间的年、月和日信息,并按照 'yyyy-mm-dd' 的格式显示。可以使用以下 SQL 语句:
SELECT
name,
DATE_FORMAT(created_time,'%Y-%m-%d') as created_day
FROM
users;
执行以上语句后,输出结果如下:
name | created_day |
---|---|
Alice | 2021-03-01 |
Bob | 2021-03-02 |
Charlie | 2021-03-03 |
可以看出,通过使用 DATE_FORMAT 函数,可以方便地将时间类型转换成字符串类型,并按照指定的格式进行显示。
总结
本文介绍了 MySQL 中时间和字符串之间的相互转换方法,这些方法将在实际开发中大有用处。除了 DATE_FORMAT 和 STR_TO_DATE 函数之外,还有许多其他的相关函数,开发者可以根据实际情况灵活运用。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:mysql时间与字符串之间相互转换 - Python技术站