mysql里date转字符串
时间: 2025-06-06 16:54:52 浏览: 9
### MySQL 中将日期类型转换为字符串的方法
在 MySQL 中,可以使用 `DATE_FORMAT()` 函数将日期类型(如 `DATE`、`DATETIME` 或 `TIMESTAMP`)转换为指定格式的字符串。此函数允许用户定义输出日期或时间的格式[^1]。
#### 语法
```sql
DATE_FORMAT(date, format)
```
- **date**:需要格式化的日期值。
- **format**:指定输出格式的模板字符串。
#### 常见格式化符号
以下是一些常用的格式化符号及其含义[^2]:
| 符号 | 描述 | 示例 |
|------|-----------------------|-------------|
| `%Y` | 四位数的年份 | 2023 |
| `%m` | 两位数的月份 | 01 至 12 |
| `%d` | 两位数的日期 | 01 至 31 |
| `%H` | 小时(24小时制,两位数)| 00 至 23 |
| `%h` | 小时(12小时制,两位数)| 01 至 12 |
| `%i` | 分钟(两位数) | 00 至 59 |
| `%s` | 秒(两位数) | 00 至 59 |
#### 示例代码
以下示例展示了如何将 `DATETIME` 类型的数据转换为字符串:
```sql
SELECT DATE_FORMAT(NOW(), '%Y-%m-%d %H:%i:%s') AS formatted_date;
```
上述查询会返回当前时间,并以 `YYYY-MM-DD HH:MM:SS` 的格式显示结果[^2]。
如果需要将 24 小时制转换为 12 小时制,可以将 `%H` 替换为 `%h`:
```sql
SELECT DATE_FORMAT(NOW(), '%Y-%m-%d %h:%i:%s') AS formatted_date_12hr;
```
#### 注意事项
- 如果输入的日期值为 `NULL`,则 `DATE_FORMAT()` 的结果也会是 `NULL`。
- 格式化字符串中的所有字符都会被保留,除非它们是格式化符号的一部分。例如,`%Y-%m-%d` 中的 `-` 会被直接输出[^1]。
阅读全文
相关推荐

















