mysql截取日期字段值
时间: 2025-02-02 10:02:03 浏览: 77
### 如何在 MySQL 中截取日期字段的值
#### 使用 `DATE()` 函数提取日期部分
当处理 `DATETIME` 或 `TIMESTAMP` 类型的数据时,如果只需要获取其中的日期部分,则可以使用 `DATE()` 函数。此函数会返回给定时间表达式的日期部分。
```sql
SELECT DATE(datetime_column) AS date_only FROM table_name;
```
该查询语句将会把表内名为 `datetime_column` 的列中的每一个 `DATETIME` 值转换成仅含年月日的形式并显示出来[^1]。
#### 利用 `YEAR()`, `MONTH()`, 和 `DAY()` 提取出具体组件
对于更细粒度的操作来说,还可以单独调用专门用于取得特定组成部分(比如年份、月份或是天数)的函数:
- 获取年份:`YEAR(date_column)`
- 获取月份:`MONTH(date_column)` 或者 `EXTRACT(MONTH FROM date_column)`
- 获取日子:`DAYOFMONTH(date_column)` 或者 `EXTRACT(DAY FROM date_column)`
下面是一个例子展示怎样分别获得各个成分:
```sql
SELECT YEAR(datetime_column), MONTH(datetime_column), DAY(datetime_column)
FROM table_name;
```
这将返回三列数据,每列表示对应记录里存储的时间戳所对应的那一年、那一月以及那一天的信息。
#### 应用 `STR_TO_DATE()` 结合其他字符串操作函数自定义格式化输出
有时候可能希望按照某种特殊的格式来呈现日期信息,在这种情况下就可以考虑先利用 `DATE_FORMAT()` 将其转化为所需的样式再进一步加工;或者是反过来,如果有现成但是不符合预期模式的文字串表示形式的话也可以借助于 `STR_TO_DATE()` 来解析回标准日期对象以便后续计算或比较。
例如要得到形如 "YYYY-MM-DD" 这样的纯文本格式的结果集可以用如下方式达成目标:
```sql
SELECT DATE_FORMAT(datetime_column,'%Y-%m-%d') formatted_date FROM table_name;
```
而若是面对的是像 '2023/7/8' 这样带斜杠分隔符的日文输入则可通过下述手段转为内部认可的标准类型:
```sql
SELECT STR_TO_DATE('2023/7/8','%Y/%c/%e');
```
这里 `%Y`, `%m`, `%d` 是指代四位数年的占位符、两位数月份数字还有单个数字代表的一号到三十几号之间任意一天的意思[^4]。
阅读全文
相关推荐

















