sql - 如何在oracle中修剪时间戳字段的毫秒数
问题描述
我有一个表EMPLOYEE
,它有两个TIMESTAMP
字段"CRTE_DTM"
和"END_DTM"
.
我想在顶EMPLOYEE
表上创建一个视图,我可以在这两个字段上放置一些函数,TIMESTAMP
以仅以 3 毫秒的精度返回。
例子:
如果我在EMPLOYEE
表中有以下行
CRTE_DTM
----------------
10-SEP-02 02.10.10.123000000 PM
我想修剪时间戳以只有 3 毫秒精度,见下文,
CRTE_DTM
----------------
10-SEP-02 02.10.10.123 PM
注意:我正在使用此视图将数据加载到表中,其中"CRTE_DTM"
字段"END_DTM"
是 TIMESTAMP
解决方案
如果您可以重新创建表(或添加列、复制数据、删除旧表并重命名),则可以使用 datatype TIMESTAMP(3)
。默认为TIMESTAMP
6 位小数,但可以覆盖。
或者,您可以转换为具有指定格式的字符串,并且(如果您想使用 TIMESTAMP 可以选择)再次返回:
select to_timestamp(
to_char(crte_dtm, 'YYYY-MM-DD HH24:MI:SS.FF3'),
'YYYY-MM-DD HH24:MI:SS.FF3') from employee;
推荐阅读
- python - 具有多个元素的数组的真值是不明确的。麻木的错误
- reactjs - 如何传递浏览器属性以响应应用程序与 MSBOT 的对话?
- javascript - ReactJS Material-UI:仅接受 TextField 中的正无符号整数值
- css - MiniCssExtractPlugin 没有链接到我的 html 文件
- azure-cognitive-search - 如何获取要在构面和过滤器中使用的键和值
- android - Flutter 中的 Google 标签管理器依赖项
- angular - 如何在角度 6 中的动态向导中从表单中检索数据
- c# - 创建类实例时解决依赖关系
- r - 警告:$<- 中的错误:R 脚本中的无效下标类型“语言”
- jsf - 尝试将 WAR 部署到 jboss eap 6.4 时出现类格式错误