- SQL 教程
- SQL - 首页
- SQL - 概述
- SQL - RDBMS 概念
- SQL - 数据库
- SQL - 语法
- SQL - 数据类型
- SQL - 运算符
- SQL - 表达式
- SQL 数据库
- SQL - 创建数据库
- SQL - 删除数据库
- SQL - 选择数据库
- SQL - 重命名数据库
- SQL - 显示数据库
- SQL - 备份数据库
- SQL 表
- SQL - 创建表
- SQL - 显示表
- SQL - 重命名表
- SQL - 截断表
- SQL - 克隆表
- SQL - 临时表
- SQL - 修改表
- SQL - 删除表
- SQL - 删除表数据
- SQL - 约束
- SQL 查询
- SQL - INSERT 查询
- SQL - SELECT 查询
- SQL - SELECT INTO
- SQL - INSERT INTO SELECT
- SQL - UPDATE 查询
- SQL - DELETE 查询
- SQL - 排序结果
- SQL 视图
- SQL - 创建视图
- SQL - 更新视图
- SQL - 删除视图
- SQL - 重命名视图
- SQL 运算符和子句
- SQL - WHERE 子句
- SQL - TOP 子句
- SQL - DISTINCT 子句
- SQL - ORDER BY 子句
- SQL - GROUP BY 子句
- SQL - HAVING 子句
- SQL - AND & OR
- SQL - 布尔 (BIT) 运算符
- SQL - LIKE 运算符
- SQL - IN 运算符
- SQL - ANY, ALL 运算符
- SQL - EXISTS 运算符
- SQL - CASE
- SQL - NOT 运算符
- SQL - 不等于
- SQL - IS NULL
- SQL - IS NOT NULL
- SQL - NOT NULL
- SQL - BETWEEN 运算符
- SQL - UNION 运算符
- SQL - UNION vs UNION ALL
- SQL - INTERSECT 运算符
- SQL - EXCEPT 运算符
- SQL - 别名
- SQL 连接
- SQL - 使用连接
- SQL - INNER JOIN
- SQL - LEFT JOIN
- SQL - RIGHT JOIN
- SQL - CROSS JOIN
- SQL - FULL JOIN
- SQL - 自连接
- SQL - DELETE 连接
- SQL - UPDATE 连接
- SQL - LEFT JOIN vs RIGHT JOIN
- SQL - UNION vs JOIN
- SQL 密钥
- SQL - 唯一键
- SQL - 主键
- SQL - 外键
- SQL - 组合键
- SQL - 备选键
- SQL 索引
- SQL - 索引
- SQL - 创建索引
- SQL - 删除索引
- SQL - 显示索引
- SQL - 唯一索引
- SQL - 聚集索引
- SQL - 非聚集索引
- 高级 SQL
- SQL - 通配符
- SQL - 注释
- SQL - 注入
- SQL - 托管
- SQL - MIN & MAX
- SQL - NULL 函数
- SQL - CHECK 约束
- SQL - DEFAULT 约束
- SQL - 存储过程
- SQL - NULL 值
- SQL - 事务
- SQL - 子查询
- SQL - 处理重复项
- SQL - 使用序列
- SQL - 自动递增
- SQL - 日期和时间
- SQL - 游标
- SQL - 通用表表达式
- SQL - GROUP BY vs ORDER BY
- SQL - IN vs EXISTS
- SQL - 数据库调优
- SQL 函数参考
- SQL - 日期函数
- SQL - 字符串函数
- SQL - 聚合函数
- SQL - 数值函数
- SQL - 文本和图像函数
- SQL - 统计函数
- SQL - 逻辑函数
- SQL - 游标函数
- SQL - JSON 函数
- SQL - 转换函数
- SQL - 数据类型函数
- SQL 有用资源
- SQL - 问答
- SQL - 快速指南
- SQL - 有用函数
- SQL - 有用资源
- SQL - 讨论
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 | +-----------------------------+