---
title: "查询中使用时间函数 | OceanBase 文档中心"
description: 查询中使用时间函数 MySQL 租户常用的时间类型有 DATE、TIMESTAMP、 TIME、DATETIME、YEAR 等，在 OceanBase 数据库中，常用的时间函数包括 NOW()、CURDATE() 和 CURTIME() 等。 本文通过具体示例介绍如何在查询中使用时间函数。 示例 1：调整时间类型显示…
image: https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*OSPzQ6GUQF4AAAAAQHAAAAgAeiGDAQ/original
---
切换语言

- 中文站 - 简体中文
- International - English
- 日本站 - 日本語

文档反馈![](https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*P8CuR4UJ_FkAAAAAAAAAAAAADiGDAQ/original) OceanBase 数据库分布式版 - V 4.0.0 社区版

# 查询中使用时间函数

更新时间：2026-05-23 13:32:43

[编辑](https://github.com/oceanbase/oceanbase-doc/edit/V4.0.0/zh-CN/300.developer-guide/300.query/900.use-operators-and-functions-in-queries/500.use-time-functions-in-queries.md)  

MySQL 租户常用的时间类型有 DATE、TIMESTAMP、 TIME、DATETIME、YEAR 等，在 OceanBase 数据库中，常用的时间函数包括 NOW()、CURDATE() 和 CURTIME() 等。

本文通过具体示例介绍如何在查询中使用时间函数。

## 示例 1：调整时间类型显示的格式

在 OceanBase 数据库中，可以使用 `DATE_FORMAT` 函数调整时间类型显示的格式，SQL 语句示例如下：

```sql
obclient> SELECT NOW(),DATE_FORMAT(NOW(),"%Y/%M/%D %T") new_time;
+---------------------+-------------------------+
| NOW()               | new_time                |
+---------------------+-------------------------+
| 2022-03-08 18:26:31 | 2022/March/8th 18:26:31 |
+---------------------+-------------------------+
1 row in set

```

## 示例 2：提取时间中的年、月、日、时、分、秒

在 OceanBase 数据库中，可以使用 `EXTRACT()` 函数从时间中提取年、月、日、时、分、秒信息，SQL 语句示例如下：

```sql
obclient> SET @dt = NOW();
Query OK, 0 rows affected

obclient> SELECT @dt
    , EXTRACT(YEAR FROM @dt)    d_year
    , EXTRACT(MONTH FROM @dt)   d_month
    , EXTRACT(week FROM @dt)    d_week
    , EXTRACT(DAY FROM @dt)     d_day
    , EXTRACT(HOUR FROM @dt)    d_hour
    , EXTRACT(MINUTE FROM @dt)  d_min
    , EXTRACT(SECOND FROM @dt)  d_second
    , EXTRACT(year_month FROM @dt)  d_year_month
    , EXTRACT(hour_minute FROM @dt) d_hour_min
\G

*************************** 1. row ***************************
         @dt: 2022-03-08 18:28:53
      d_year: 2022
     d_month: 3
      d_week: 10
       d_day: 8
      d_hour: 18
       d_min: 28
    d_second: 53
d_year_month: 202203
  d_hour_min: 1828
1 row in set

```

## 示例 3：时间类型的加减运算

在 OceanBase 数据库中，可以使用 `DATE_ADD()` 或 `DATE_SUB()` 函数对时间进行加减，SQL 语句示例如下：

obclient> SELECT @dt
    , DATE_ADD(@dt, INTERVAL 1 DAY )        t1
    , DATE_ADD(@dt, INTERVAL 1 HOUR )       t2
    , DATE_ADD(@dt, INTERVAL -10 MINUTE )   t3
    , DATE_ADD(@dt, INTERVAL -1 MONTH )     t4
    , DATE_ADD(@dt, INTERVAL 1 YEAR )       t5
\G

*************************** 1. row ***************************
@dt: 2022-03-08 18:28:53
 t1: 2022-03-09 18:28:53
 t2: 2022-03-08 19:28:53
 t3: 2022-03-08 18:18:53
 t4: 2022-02-08 18:28:53
 t5: 2023-03-08 18:28:53
1 row in set

```

有关更多时间类型用法，请参考 [日期时间类型概述](https://www.oceanbase.com/docs/community-observer-cn-10000000000902317)。

 上一篇 下一篇 ![有帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*y6ocSqN8cqsAAAAAAAAAAAAAARQnAQ)![无帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*BG9IQJyLHF8AAAAAAAAAAAAAARQnAQ)![反馈](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*eTWdQKCRKHwAAAAAAAAAAAAAARQnAQ)[AI](https://www.oceanbase.com/obi) 咨询热线
