mysql中日期只要年月日
时间: 2025-06-22 16:37:33 浏览: 29
### 如何在 MySQL 中仅提取日期的年月日部分
#### 使用 `DATE()` 函数
为了从完整的日期时间戳中仅提取日期部分(即年、月、日),可以使用 `DATE()` 函数。此函数会返回给定日期表达式的日期部分,忽略任何时间信息。
```sql
SELECT DATE('2023-11-28 14:35:59') AS date_only;
```
这将输出:
| date_only |
|-------------|
| 2023-11-28 |
该方法适用于处理包含时间和日期的数据列,当只需要展示或操作日期而不关心具体时刻时非常有用[^3]。
#### 利用 `EXTRACT` 或者特定于组件的函数
除了上述通用的方式外,还可以采用更细粒度的方法来分别获取年份、月份和日子。对于这种需求,既可以选择利用 `EXTRACT` 关键字配合相应的单位参数,也可以直接调用针对各个组成部分设计好的专用函数如 `YEAR()`, `MONTH()`, 和 `DAYOFMONTH()`.
##### 方法一:通过 `EXTRACT`
```sql
SELECT CONCAT(
EXTRACT(YEAR FROM '2023-11-28'),
'-',
LPAD(EXTRACT(MONTH FROM '2023-11-28'), 2, '0'),
'-',
LPAD(EXTRACT(DAY FROM '2023-11-28'), 2, '0')
) AS formatted_date;
```
这段SQL语句的结果将是:
| formatted_date |
|----------------|
| 2023-11-28 |
这里运用到了字符串拼接以及左填充(`LPAD`)技术以确保月份和天数始终显示两位数字形式[^4].
##### 方法二:借助独立的功能函数组合实现相同效果
```sql
SELECT CONCAT_WS('-',
YEAR('2023-11-28'),
MONTH('2023-11-28'),
DAY('2023-11-28')) AS composed_date;
```
执行以上命令同样能得到预期格式化的日期串:"2023-11-28".
阅读全文
相关推荐









