sql - 如何从表中找到时间戳列
问题描述
我想找出表中有多少列是时间戳列。我已经尝试了一个简单的查询,如下所示,通过硬编码列的名称来使用时间戳
SELECT time1, time2 FROM givenTable;
但我不想硬编码时间戳列的名称。SQL中有什么方法可以告诉我表中列的名称是时间戳列吗?
解决方案
select * from SYS.ALL_TAB_COLUMNS
where table_name = 'TABLE_XYZ'
and owner = USER
and data_type like 'TIMESTAMP%'
你应该通过过滤data_type来使用like,因为你也可以有一个精确的时间戳,比如TIMESTAMP(6)
推荐阅读
- prolog - 在 GNU Prolog 中编译之前的术语扩展
- javascript - i18next 翻译是 404 Not Found in Storybook with i18next-http-backend
- php - 如何从具有相同名称的字符串中调用变量?PHP
- google-sheets - IFERROR() 不起作用,仍然返回!REF#
- yocto - 如何通过添加新层将 tar.gz 包安装到 Yocto?
- sql - 使用游标 plsql 块将数据从临时表传输到主表
- angular - 如何在嵌套的延迟加载模块中实现 ngx translate(App Module->(Module 1->(Module 2)))
- osgearth - osgearth ThreeDTiles 模型数据很大
- pandas - 在训练集和测试集上具有相同转换的多列标签编码
- javascript - 如何处理 png 或 jpeg 类型的文件上传的输入字段?