mysql日期转字符串,字符串转日期
时间: 2025-06-10 15:39:11 浏览: 13
### MySQL 日期与字符串相互转换的函数及用法
在 MySQL 中,`DATE_FORMAT` 和 `STR_TO_DATE` 是两个常用的函数,分别用于将日期转换为字符串和将字符串转换为日期。
#### 1. `DATE_FORMAT` 函数
`DATE_FORMAT` 函数用于将日期格式化为指定的字符串格式。其语法如下:
```sql
DATE_FORMAT(date, format)
```
- `date`:需要格式化的日期值。
- `format`:指定输出的字符串格式。
示例:
```sql
SELECT DATE_FORMAT('2023-03-15 14:30:45', '%Y年%m月%d日 %H时%i分%s秒') AS formatted_date;
```
上述查询将返回结果:`2023年03月15日 14时30分45秒`[^1]。
常用格式化符号包括但不限于以下内容:
- `%Y`:四位数的年份(如 2023)。
- `%m`:两位数的月份(如 03 表示三月)。
- `%d`:两位数的日期(如 15 表示十五号)。
- `%H`:24 小时制的小时数(如 14 表示下午两点)。
- `%i`:分钟数(如 30 表示三十分钟)。
- `%s`:秒数(如 45 表示四十五秒)[^4]。
#### 2. `STR_TO_DATE` 函数
`STR_TO_DATE` 函数用于将字符串按照指定的格式解析为日期值。其语法如下:
```sql
STR_TO_DATE(str, format)
```
- `str`:需要转换的字符串。
- `format`:指定输入字符串的格式。
示例:
```sql
SELECT STR_TO_DATE('2023-03-15 14:30:45', '%Y-%m-%d %H:%i:%s') AS parsed_date;
```
上述查询将返回结果:`2023-03-15 14:30:45`[^2]。
#### 3. 示例代码
以下是一个完整的示例,展示如何使用 `DATE_FORMAT` 和 `STR_TO_DATE` 进行日期与字符串的相互转换:
```sql
-- 将字符串转换为日期
SELECT STR_TO_DATE('2023-03-15 14:30:45', '%Y-%m-%d %H:%i:%s') AS parsed_date;
-- 将日期转换为字符串
SELECT DATE_FORMAT('2023-03-15 14:30:45', '%Y年%m月%d日 %H时%i分%s秒') AS formatted_date;
-- 结合使用
SELECT DATE_FORMAT(STR_TO_DATE('2023-03-15 14:30:45', '%Y-%m-%d %H:%i:%s'), '%Y年%m月%d日') AS combined_result;
```
#### 4. 注意事项
- 在使用 `STR_TO_DATE` 时,确保提供的字符串格式与指定的格式完全匹配,否则可能导致错误或返回 `NULL` 值[^3]。
- 在使用 `DATE_FORMAT` 时,如果日期值无效(例如超出范围),也可能返回 `NULL` 值。
阅读全文
相关推荐


















