SQL - DATETRUNC 函数



SQL 的DATETRUNC()函数用于将日期或时间值截断到指定的日期部分。

该函数接受两个参数 - 第一个是应将日期或时间值截断到的日期部分,第二个是要截断的日期或时间值。

语法

以下是 SQL DATETRUNC() 函数的语法:

DATETRUNC(datepart, date)

参数

此函数接受两个参数。如下所述:

  • datepart - 日期部分可以是以下值之一:

    • year - 将日期/时间值截断到指定年份的开始。

    • quarter - 将日期/时间值截断到指定季度的开始。

    • month - 将日期/时间值截断到指定月份的开始。

    • dayofyear - 将日期/时间值截断到指定年份中的某天的开始。

    • day - 将日期/时间值截断到指定日的开始。

    • week - 将日期/时间值截断到指定周的开始。

    • hour - 将日期/时间值截断到指定小时的开始。

    • minute - 将日期/时间值截断到指定分钟的开始。

    • second - 将日期/时间值截断到指定秒的开始。

    • millisecond - 将日期/时间值截断到指定毫秒的开始。

    • microsecond - 将日期/时间值截断到指定微秒的开始。

  • date - 这可以是任何类型,例如 smalldatetime、datetime、date、time、datetime2、datetimeoffset。

示例

这里,我们尝试使用以下查询将 datetime 值截断到year的开始:

SQL> SELECT DATETRUNC(YEAR, '2023-02-20 06:32:15') AS RESULT;

输出

如果我们执行上面的查询,则结果如下所示:

+-----------------------------+
| RESULT                      |
+-----------------------------+
| 2023-01-01 00:00:00.0000000 |
+-----------------------------+

示例

在下面的示例中,我们尝试将 datetime 值截断到week的开始(从星期日开始):

SQL> SELECT DATETRUNC(WEEK, '2023-02-20 06:32:15') AS RESULT;

输出

执行上述查询后,获得的输出如下:

+-----------------------------+
| RESULT                      |
+-----------------------------+
| 2023-02-15 00:00:00.0000000 |
+-----------------------------+

示例

在下面的示例中,我们尝试将 datetime 值截断到quarter的开始:

SQL> SELECT DATETRUNC(QUARTER, '2023-05-20 06:32:15') AS RESULT;

输出

上述查询的输出如下所示:

+-----------------------------+
| RESULT                      |
+-----------------------------+
| 2023-04-01 00:00:00.0000000 |
+-----------------------------+

示例

这里,我们尝试使用以下查询将 datetime 值截断到hour的开始:

SQL> SELECT DATETRUNC(HOUR, '2023-02-20 06:32:15') AS RESULT;

输出

执行上述查询后,输出将显示如下:

+-----------------------------+
| RESULT                      |
+-----------------------------+
| 2023-02-20 06:00:00.0000000 |
+-----------------------------+

示例

我们可以使用以下查询将 datetime 值截断到second的开始:

注意 - SYSDATETIME() 函数检索当前日期和时间。

SQL> SELECT DATETRUNC(SECOND, SYSDATETIME()) AS RESULT;

输出

执行上述查询后,获得的输出如下:

+-----------------------------+
| RESULT                      |
+-----------------------------+
| 2023-02-20 16:39:46.0000000 |
+-----------------------------+
sql-date-functions.htm
广告
© . All rights reserved.