Oracle 时间戳只取到日(oracle 不取时分秒)
Oracle 时间戳只取到日
1. 引言
Oracle 数据库中有时间戳(Timestamp)数据类型,用于表示日期和时间的精确值,包括年、月、日、时、分、秒和毫秒。在某些情况下,我们只需要使用时间戳的日期部分,即只需要取到日,本文将介绍如何在 Oracle 中实现。
2. 解决方案
Oracle 中有一个函数 TRUNC,用于取整数部分。例如:
“`sql
SELECT TRUNC(10.25) FROM dual;
— 返回值:10
除了整数,TRUNC 还可以取小数部分。例如:
```sqlSELECT 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 函数进行定制。