Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >oracle将时间戳转换为其他时间掩码

oracle将时间戳转换为其他时间掩码
EN

Stack Overflow用户
提问于 2012-06-05 20:00:39
回答 2查看 12.4K关注 0票数 0

如何将这些数字列(timestamp、event_dt)转换为日期或时间掩码?我正在尝试这样做:

代码语言:javascript
运行
AI代码解释
复制
    select to_char(timestamp,'YYYY-MON-DD HH24:MI:SS'), domain_c, to_char(event_date,'YYYY-MON-DD HH24:MI:SS'), total_reads from TOP_READ_EVENTS where timestamp= to_char(sysdate-2,'yyyymmdd') || '0000'
                         *
ERROR at line 1:
ORA-01481: invalid number format model


SQL> desc top_read_events;
 Name                      Null?    Type
 ----------------------------------------- -------- ----------------------------
 YEAR                           NUMBER
 QUARTER                        NUMBER
 MONTH                          NUMBER
 DAY                            NUMBER
 HOUR                           NUMBER
 TIMESTAMP                      NUMBER
 DOMAIN_C                       VARCHAR2(255)
 EVENT_DT                       NUMBER
 TOTAL_READS                        NUMBER




select timestamp, domain_c, event_dt, total_reads from TOP_READ_EVENTS where timestamp= to_char(sysdate-2,'yyyymmdd') || '0000'    

 TIMESTAMP DOMAIN_C              EVENT_DT  TOTAL_READS
---------- ------------------------------  ------------ -------------
2.0111E+11 b.e.att-mail.com         2.0111E+11         14406
2.0111E+11 bounce.emailinfo2.bestbuy.com    2.0111E+11         14156
2.0111E+11 bounce.bluestatedigital.com      2.0111E+11         13701
2.0111E+11 plentyoffish.com         2.0111E+11         13384
2.0111E+11 mail.classmates.com          2.0111E+11         13281
2.0111E+11 comcast.net              2.0111E+11         13241
2.0111E+11 uniquelistsmail.com          2.0111E+11         13135
2.0111E+11 tankgorilla.com          2.0111E+11         12835
2.0111E+11 frigidphoenix.com            2.0111E+11         12657
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-06-05 20:19:04

首先,不要将date或timestamp数据类型存储在date或timestamp列。它会带来永无止境的痛苦;当你聚集的时候。

由于您的“时间戳”有11个数量级,我将猜测您是以yyyymmddhh24mi的形式插入它们的,并且它们不是从未指定的时期或类似的时间开始的秒数。

如果你想转换它,你必须先把它们转换成一个字符,然后再转换成一个日期。您实际上不需要时间戳,因为这些时间戳与日期仅以小数秒为单位不同。

它看起来像下面这样:

代码语言:javascript
运行
AI代码解释
复制
select to_date(to_char(timestamp),'yyyymmddhh24mi') as my_timestamp
  from top_read_events

另外,永远不要调用列的时间戳、日期、组或其他保留字。它造成了太多的问题。就我个人而言,我通常会选择"tstamp“,但这只是我个人的偏好。

如果你想把你的“时间戳”转换成一个字符,那么你必须再次把它转换成一个字符。

代码语言:javascript
运行
AI代码解释
复制
select to_char(to_date(to_char(timestamp)
                       ,'yyyymmddhh24mi')
              ,'yyyy-mon-dd hh24:mi:ss') as my_timestamp
  from top_read_events

秒数将始终是00,因为您没有这些。请注意,我只使用显式的数字到字符到日期到字符的转换。这会让你后面的程序员更清楚你在做什么,包括两年后的你自己,而且不会有解释器在意图上犯错误,并将数字与字符进行比较等。

出于这个原因,我肯定会更改where timestamp= to_char(sysdate-2,'yyyymmdd') || '0000'。当您想要进行日期比较时,请将其更改为日期,并以这种方式更改为日期。

代码语言:javascript
运行
AI代码解释
复制
where trunc(to_date(to_char(timestamp),'yyyymmddhh24mi'),'dd') = trunc(sysdate -2)

在此实例中,trunc()在日期级别截断此参数。

票数 5
EN

Stack Overflow用户

发布于 2012-06-05 20:18:26

首先,在非DATETIMESTAMP的列中存储日期和时间戳不是很好的数据建模。如果您将数据存储在具有适当数据类型的列中,生活将会容易得多。

其次,您的数值列使用什么格式来存储日期和/或时间戳数据?你不会张贴一个实际值的例子--我们只知道它们是12位数,从2011开始。我猜它们是以YYYYMMDDHH24MI格式存储的,没有秒数--如果这个猜测是不正确的,您需要告诉我们。

假设猜测是正确的,您将需要将数字转换为字符串,将字符串转换为日期,然后将日期转换回另一个不同格式的字符串。显然,这有点笨拙(这也是以适当的数据类型存储数据的众多原因之一)。就像这样

代码语言:javascript
运行
AI代码解释
复制
to_char( to_date( to_char( timestamp ), 
                  'YYYYMMDDHH24MI' ),
         'YYYY-MON-DD HH24:MI:SS' )

如果您的数值列以不同的方式存储,或者有任何情况下数据没有以正确的格式存储,生活就会变得更加不愉快。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10904081

复制
相关文章
[Python基础08]列表和循环操作
如果在某些情况下,我们要定义一个1~100的列表,是一件特别麻烦的事情,手工编码就会变得非常的繁琐,此时,我们可以使用第一种方式来进行列表的构建
周小董
2022/04/12
1.1K0
SharePoint 2010 新列表模板列表
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/117742.html原文链接:https://javaforall.cn
全栈程序员站长
2022/07/11
7180
SharePoint 2010 新列表模板列表
SharePoint2010新特性:InfoPath定义创建列表的界面
在SharePoint2007的时候,自定义的列表可以使用CAML修改其展示页面,但是对于创建列表的页面,不容易自定义。现在在SharePoint2010中,增强了InfoPath Form Services,我们可以使用InfoPath Designer来快速设置自定义列表的修改和展示页面。
深蓝studyzy
2022/06/16
7210
SharePoint2010新特性:InfoPath定义创建列表的界面
【Python】列表 List ⑦ ( 列表遍历 | 使用 while 循环遍历列表 | 使用 for 循环遍历列表 | while 循环 与 for 循环对比 )
将 列表 容器 中的数据元素 , 依次逐个取出进行处理的操作 , 称为 列表的遍历 ;
韩曙亮
2023/10/11
9900
18. 再说循环~列表和循环的高级操作
在前面的课程中,我们已经学习了循环和函数的基本操作,这节内容主要针对循环和函数在项目使用过程中的一些更加有使用价值的操作进行分析和讲解
大牧莫邪
2018/08/27
1.2K0
SharePoint—用REST方式访问列表
古时的风筝
2018/01/08
2K0
SharePoint—用REST方式访问列表
python3.2列表操作总结
list操作:快速创建list、新增item、删除item、重新赋值item、颠倒item顺序、检索item
py3study
2020/01/09
6170
列表,for循环相关.
#!/usr/bin/env python # -*- coding:utf-8 -*- # 1.简述解释型语言和编译型语言的区别? """ 1.解释型语言:Python,PHP,Ruby. 特点是一行一行的解释,一行一行的传输给计算机,报错行前面可以执行. 2.编译型语言:C,C++,Java,C#,Go. 特点是一次性把语言编译成文件,报错则不能编译,编译好的文件一定可以运行. """ # 2.列举你了解的Python的数据类型? """ 1.int:整型,数字 2.str:字符串 3.bool:布
py3study
2020/01/16
1.3K0
[python]列表的操作
magicians = ['alice', 'david', 'carolina'] for magician in magicians: print(magician) for magician in magicians: print(magician.title()+",that was a great trick!") print("I can't wait to see your next trick," +magician.title()+".\n") print("thank you,ever
py3study
2020/01/17
8080
操作列表
只需几行代码,循环能够对列表的每个元素都采取一个或一系列相同的措施,从而高效地处理任何长度的列表。
清菡
2020/12/02
1.3K0
操作列表
0428(字典,列表,循环)
该字典应包含键first_name 、last_name 、age 和city 。通过循环录入3个学生信息,存储到列表中, 并使用循环完成每个人具体信息的打印
py3study
2020/01/16
1.6K0
【HTML】HTML 列表 ( 无序列表 | 有序列表 | 自定义列表 )
列表 由于其 整齐 , 整洁 , 有序 的特征 , 类似于表格 , 但是其 组合的自由程度高于表格 , 经常用来进行布局 ;
韩曙亮
2023/03/30
3K0
【HTML】HTML 列表 ( 无序列表 | 有序列表 | 自定义列表 )
「学习笔记」循环、列表
continue:终止本轮循环并开始下一轮循环(开始下一轮之前会先看循环条件是否满足,满足了才执行)
py3study
2020/01/21
7300
小程序循环列表删除当前选中列表的方法
需求:点击解绑按钮的时候,会删除当前所点击的列表. 点击试驾按钮的时候,左侧的图标会变成按钮一样的颜色。
王小婷
2019/01/28
2.4K0
小程序循环列表删除当前选中列表的方法
html 有序列表、无序列表、自定义列表
HTML有一个特殊元素,用于创建ordered lists(有序列表), 或数字编号列表。 有序列表以<ol>元素开始,并包含一个或多个<li>元素。 例如:
Devops海洋的渔夫
2019/05/31
4.2K0
Python 的 map、列表推导、循环
发现map最快,map返回的是迭代器,如果变成list则花的时间与循环差不多,其次是列表推导,最后是循环来写。
py3study
2020/01/08
2.2K0
Python 的 map、列表推导、循环
SharePoint中的列表(List) 与Content Type 之一
Windows SharePoint Services (WSS)通过列表和content type实现了协作的数据模式, 这两个都是用基于XML定义的schema来定义的, schema要么是在运行时通过用户自定义创建出来的, 要么是在features文件夹中的文件系统中的XML文件中. 这些基于XML的文件是用WSS-specific的语言写成的, 也就是Collaborative Application Markup Language (CAML). 当你使用CAML开发WSS类型定义(比如说site column, content types, 和site template)的时候, 那你就在创建用户可以在他们自己的collaborative application中使用的provisioning component. 当你通过WSS用户界面创建site columns, content types, list template的时候, 你就创建了scope范围仅在一个单独站点的自定义内容.
全栈程序员站长
2022/07/04
1K0
列表常用操作
'''列表的方法 l.index() l.count() l.copy() l.insert() l.append() l.extend() l.pop() l.remove() l.clear() l.sort() l.reverse() ''' l = [1, 2, 'h', [3, 4, 'H']] print(len(l)) l1 = l.index('h', 2
汪凡
2018/05/29
6070
python列表操作
9.4 获取开始索引和结束索引之间的数据组成的列表(包含开始索引,不包含结束索引)
不止于python
2023/09/05
1900
python列表操作
forEach循环实现卡片列表
jsp页面 <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> <!DOCTYPE html> <html lang="en"> <head> <% String path = request.getRequestURI(); Strin
王小婷
2019/05/06
4.4K0
forEach循环实现卡片列表

相似问题

SharePoint列表预填充

11

SharePoint列表中的自动编号列

90

SharePoint列表中具有链接到项目的自动编号列

37

SharePoint列表自动增量自定义索引

12

特定Sharepoint列表的自定义操作菜单

21
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文