首页 > 解决方案 > 如何从表中找到时间戳列

问题描述

我想找出表中有多少列是时间戳列。我已经尝试了一个简单的查询,如下所示,通过硬编码列的名称来使用时间戳

SELECT time1, time2 FROM givenTable;

但我不想硬编码时间戳列的名称。SQL中有什么方法可以告诉我表中列的名称是时间戳列吗?

标签: sqloracle

解决方案


select * from SYS.ALL_TAB_COLUMNS
where table_name = 'TABLE_XYZ'
and owner = USER
and data_type like 'TIMESTAMP%'

你应该通过过滤data_type来使用like,因为你也可以有一个精确的时间戳,比如TIMESTAMP(6)


推荐阅读