sql - 在 Oracle 中将数字显示为日期
问题描述
我正在尝试在 SQL Developer 中将变量显示为日期(最好是 2017/01/05 之类的)。
如果我查询:
select raw_date from src_table where rownum < 2
我得到一个数字:
61340
从下面的查询中,我发现源日期的 type=2,我看到它不是数字就是浮点数。我假设因为 Len=4 并且没有小数点,所以它是一个数字而不是一个浮点数。
select dump(raw_date) from src_table
where rownum < 2;
Typ=2 Len=4: 195,7,14,41
我已经尝试过投射到日期并使用 to_date 函数,但到目前为止还没有运气。当我尝试:
select to_date(raw_date, 'yyyy/mm/dd') as my_date from src_table
我得到:
ORA-01861: literal does not match format string
我假设我的语法是关闭的。我接近了吗?
解决方案
您期望得到 61340 的结果是什么?
代表日期的数字可能是儒略日期;在这种情况下:
SQL> select to_date(61340, 'j') from dual;
TO_DATE(61
----------
10.12.4545
SQL>
但是 - 这个值没有多大意义。4545年?嗯?
反之亦然(日期到儒略日期)返回
SQL> select to_char(sysdate, 'j') from dual;
TO_CHAR
-------
2459095
SQL>
如果您知道 61340 代表什么,则更容易提供帮助。
推荐阅读
- autodesk-forge - 使用 Autodesk FORGE 模型衍生工具的 SVF/SVF2 模型中缺少自定义 Inventor 材料
- java - 等待 RabbitTemplate Correlated 确认
- python - 一种在两个数据之间匹配维度的简单方法
- docker - 在 ubuntu 16.04 上安装 php7.4 - Dockerfile
- python - QtWidgets 是否可以从服务器中选择文件?
- javascript - React 组件不断重新渲染导致视频重新启动
- javascript - 通过 innerHtml 在 dom 中插入 mathml 时,数学标记被删除
- python-3.x - Webdriver Selenium 点击一个
- iframe 内的元素
- r - 如何一次比较具有相似名称模式的多个列的值?
- flutter - For循环下的小部件未在颤动中呈现