Oracle 时间戳只取到日(oracle 不取时分秒)

Oracle 时间戳只取到日

1. 引言

Oracle 数据库中有时间戳(Timestamp)数据类型,用于表示日期和时间的精确值,包括年、月、日、时、分、秒和毫秒。在某些情况下,我们只需要使用时间戳的日期部分,即只需要取到日,本文将介绍如何在 Oracle 中实现。

2. 解决方案

Oracle 中有一个函数 TRUNC,用于取整数部分。例如:

“`sql

SELECT TRUNC(10.25) FROM dual;

— 返回值:10


除了整数,TRUNC 还可以取小数部分。例如:

```sql
SELECT TRUNC(10.257, 2) FROM dual;
-- 返回值:10.25

TRUNC 函数还可以用于时间戳。例如:

“`sql

SELECT TRUNC(SYSDATE) FROM dual;

— 返回值:2022-02-10 00:00:00


以上语句将时间戳 TRUNC 成日期,只保留了年、月、日部分,时间部分被清零。

3. 实例演示

下面的例子演示了如何使用 TRUNC 函数取到 Oracle 时间戳的日期部分:

```sql
-- 创建测试表
CREATE TABLE test_timestamp (
id NUMBER,
ts TIMESTAMP
);
-- 插入测试数据
INSERT INTO test_timestamp VALUES (1, TO_TIMESTAMP('2022-02-10 17:30:28', 'YYYY-MM-DD HH24:MI:SS'));
INSERT INTO test_timestamp VALUES (2, TO_TIMESTAMP('2022-02-11 11:40:21', 'YYYY-MM-DD HH24:MI:SS'));
INSERT INTO test_timestamp VALUES (3, TO_TIMESTAMP('2022-02-12 10:20:15', 'YYYY-MM-DD HH24:MI:SS'));
-- 查询表中所有数据,并只保留时间戳的日期部分
SELECT
id,
TRUNC(ts) AS dt
FROM
test_timestamp;

输出结果如下:

        ID DT        
---------- ----------
1 2022-02-10
2 2022-02-11
3 2022-02-12

4. 总结

本文介绍了 Oracle 数据库中如何使用 TRUNC 函数取到时间戳的日期部分。TRUNC 函数可以对整数、小数和时间戳进行取整操作。在实际应用中,我们可以根据需要使用不同的参数对 TRUNC 函数进行定制。


数据运维技术 » Oracle 时间戳只取到日(oracle 不取时分秒)