如何在Oracle中将时间戳转换为日期列?

问题描述 投票:0回答:2

我有一个TIMESTAMP(6)列,其中填充了数据。时间信息不再重要。如何将其迁移到DATE列并保存数据?在sql中最简单的方法是什么?

sql oracle
2个回答
0
投票
CAST(timestamp_expression AS DATE)

例如,查询为:SELECT CAST(SYSTIMESTAMP AS DATE) FROM dual;

替代:

SELECT TO_DATE (TO_CHAR (SYSTIMESTAMP, 'YYYY-MON-DD HH24:MI:SS'),
                'YYYY-MON-DD HH24:MI:SS'
               ) AS my_date
  FROM DUAL

0
投票

添加新列:

ALTER TABLE table_name ADD new_date_column DATE;

然后使用隐式强制转换:

UPDATE table_name
SET new_date_column = old_timestamp_column;

或显式强制转换:

UPDATE table_name
SET new_date_column = CAST( old_timestamp_column AS DATE );

-1
投票

我相信您可以直接对此列进行修改,一切都会好的:

ALTER TABLE testTable
MODIFY test_c date;

DEMO

© www.soinside.com 2019 - 2024. All rights reserved.