mysql datetime转换成保留年月日时分秒
时间: 2025-05-31 18:23:59 浏览: 28
### MySQL 使用 `DATE_FORMAT()` 函数格式化日期时间
`DATE_FORMAT()` 是 MySQL 提供的一个强大工具,用于按照自定义的格式来展示日期和时间数据。通过该函数,可以轻松实现将 `datetime` 字段转换为仅包含年、月、日、时、分、秒的形式。
#### 格式化字符串说明
为了满足需求,需要使用特定的占位符组合成所需的格式化字符串。以下是常用的占位符及其含义:
| 占位符 | 描述 |
|--------|--------------------------|
| `%Y` | 四位数表示的年份 |
| `%m` | 两位数表示的月份 (01~12)|
| `%d` | 两位数表示的日 (01~31) |
| `%H` | 小时 (24小时制, 00~23) |
| `%i` | 分钟 (00~59) |
| `%s` | 秒 (00~59) |
因此,要将 `datetime` 转换为形如 `'YYYY-MM-DD HH:MM:SS'` 的形式,可使用的格式化字符串为:`'%Y-%m-%d %H:%i:%s'`[^3]。
#### SQL 查询示例
下面是一个完整的查询语句示例,演示如何利用 `DATE_FORMAT()` 来格式化 `datetime` 数据:
```sql
SELECT DATE_FORMAT(your_datetime_column, '%Y-%m-%d %H:%i:%s') AS formatted_date
FROM your_table;
```
在此例子中,假设表名为 `your_table`,而其中存储日期时间的数据列名是 `your_datetime_column`。执行此查询后,返回的结果集中会有一列表示经过格式化的日期时间值[^2]。
#### 时间比较场景下的应用
如果涉及到基于当前时间和数据库记录的时间戳做对比操作,则同样可以用到上述方法。例如筛选出所有早于现在时刻的记录:
```sql
SELECT *
FROM shipping
WHERE shipping_time <= DATE_FORMAT(NOW(), '%Y-%m-%d %H:%i:%s');
```
这里运用到了 `NOW()` 获取服务器当前时间,并将其也转化为相同的格式以便准确无误地完成逻辑判断过程[^4]。
阅读全文
相关推荐


















